@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#eef3f9;color:#1b2a33}:root{color-scheme:light;--app-font-scale: 1;--brand-primary: #2364ae;--brand-primary-strong: #1f4f7f;--brand-dark: #27373e;--brand-accent: #8dc4eb;--brand-surface: #f4f7fb;--brand-border: #d0d9e4;--brand-muted: #5f6b78;--brand-shadow: 0 24px 60px rgba(39, 55, 62, .16)}body{font-size:calc(16px * var(--app-font-scale));font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}input,select,textarea,button{font-family:inherit}input,select,textarea{border:1px solid var(--brand-border);background:#fff;border-radius:.9rem;transition:border-color .2s ease,box-shadow .2s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 2px #2364ae2e}.app-shell{min-height:auto;background:radial-gradient(circle at 12% 10%,rgba(141,196,235,.24),transparent 28%),radial-gradient(circle at 82% 12%,rgba(35,100,174,.16),transparent 30%),linear-gradient(180deg,#f6f9fd,#eef3f9 46%,#e9f1f8);display:flex;align-items:stretch;justify-content:center;padding-block:1rem;padding-inline:1.25rem}.app-shell--login{min-height:100vh;background:radial-gradient(circle at 20% 24%,rgba(141,196,235,.4),transparent 40%),radial-gradient(circle at 80% 18%,rgba(35,100,174,.3),transparent 34%),linear-gradient(135deg,#1f2c33,#27373e 26%,#2364ae 68%,#8dc4eb);align-items:center;padding:3rem 1.5rem}.login-layout{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.75rem;width:100%;max-width:1040px;align-items:center}.login-intro{color:#e8f1f9;display:flex;flex-direction:column;gap:.75rem}.login-logo-wrap{display:inline-flex;background:linear-gradient(135deg,#fffffff5,#ffffffe0);padding:1rem 1.1rem;border-radius:16px;box-shadow:0 18px 45px #0f172a59;align-self:flex-start}.login-logo{width:220px;max-width:100%;filter:drop-shadow(0 8px 16px rgba(15,23,42,.25))}.login-intro h2{font-size:2rem;margin:0}.login-intro p{font-size:1.02rem;color:#e8f1f9eb;max-width:520px}.loader{font-size:1.2rem;color:var(--brand-dark)}.login-card{background:linear-gradient(180deg,#ffffffe6,#fffffff5);width:100%;max-width:420px;padding:2.5rem;border-radius:1.5rem;box-shadow:var(--brand-shadow);position:relative;overflow:hidden;border:1px solid rgba(35,100,174,.12)}.login-card>*{position:relative;z-index:1}.login-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#2364ae1f,#8dc4eb1f);pointer-events:none}.login-card h1{margin-bottom:.5rem;font-size:1.8rem;color:var(--brand-primary-strong)}.login-card p{color:var(--brand-muted);margin-bottom:1.5rem}.login-card form{display:flex;flex-direction:column;gap:1.25rem}.field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:var(--brand-muted)}.field input{border:1px solid #cbd5f5;border-radius:.9rem;padding:.85rem 1rem;font-size:1rem;transition:border-color .2s ease}.field input:focus{outline:none;border-color:#2364ae;box-shadow:0 0 0 3px #2364ae2e}button{border:none;border-radius:999px;background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-strong) 100%);color:#fff;padding:.9rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:opacity .2s ease,box-shadow .2s ease,transform .2s ease}button:disabled{opacity:.6;cursor:not-allowed}button:not(:disabled):hover{box-shadow:0 14px 36px #2364ae52;transform:translateY(-1px)}.error{background:#fee2e2;color:#991b1b;padding:.75rem 1rem;border-radius:.8rem;font-size:.9rem}.calendar-page{width:100%;flex:1;display:flex;flex-direction:column;min-width:0}.calendar-user-filters{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:1rem;background:#fff;margin-bottom:.85rem;min-width:0;max-width:100%;overflow:hidden}.calendar-user-filters__actions{display:flex;gap:.4rem}.calendar-user-filters__actions button{padding:.35rem .75rem;border:1px solid #e2e8f0;background:#f8fafc;border-radius:999px;font-size:.78rem;font-weight:600;color:#475569;cursor:pointer}.calendar-user-filters__actions button:hover{background:#eff6ff;border-color:#2563eb4d;color:#1d4ed8}.calendar-user-filters__list{display:flex;flex-wrap:wrap;gap:.4rem;width:100%}.calendar-user-filters .user-chip{flex:0 1 auto;max-width:100%}.calendar-summary{display:flex;flex-wrap:nowrap;gap:.6rem;margin-top:.85rem}.calendar-event-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}.event-filter-chip{border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:.35rem .85rem;font-size:.78rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.event-filter-chip:hover{background:#f1f5f9;border-color:#cbd5f5}.event-filter-chip.active{background:#2563eb1f;border-color:#2563eb66;color:#1d4ed8}.event-filter-chip--clear{margin-left:auto;color:#b91c1c;border-color:#b91c1c40;background:#b91c1c0f}.event-filter-chip--clear:hover{background:#b91c1c1f}.rbc-custom-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.75rem;padding:.5rem .65rem;border:1px solid #e2e8f0;border-radius:.85rem;background:#f8fafc}.rbc-custom-toolbar__nav,.rbc-custom-toolbar__views{display:flex;align-items:center;gap:.35rem}.rbc-custom-toolbar__today,.rbc-custom-toolbar__icon{border:1px solid #e2e8f0;background:#fff;border-radius:.55rem;padding:.35rem .7rem;font:inherit;font-size:.85rem;font-weight:600;color:#0f172a;cursor:pointer;transition:background .15s ease,border-color .15s ease}.rbc-custom-toolbar__today:hover,.rbc-custom-toolbar__icon:hover{background:#eff6ff;border-color:#2563eb4d}.rbc-custom-toolbar__icon{width:32px;padding:.2rem 0;font-size:1rem;text-align:center;line-height:1}.rbc-custom-toolbar__label{margin-left:.5rem;font-weight:700;color:#0f172a;text-transform:capitalize;font-size:.95rem}.rbc-custom-toolbar__view{border:1px solid transparent;background:transparent;border-radius:.55rem;padding:.35rem .85rem;font:inherit;font-size:.82rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s ease,color .15s ease}.rbc-custom-toolbar__view:hover{background:#fff;color:#0f172a}.rbc-custom-toolbar__view.active{background:#fff;border-color:#2563eb4d;color:#1d4ed8;box-shadow:0 4px 10px #0f172a14}.calendar-summary__card{flex:1 1 0;min-width:0;border:1px solid #dbe5f0;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:.95rem;padding:.75rem .95rem;display:flex;flex-direction:column;gap:.2rem}.calendar-summary__card small{color:#64748b;font-size:.78rem}.calendar-summary__card strong{color:#0f172a;font-size:1.1rem;line-height:1.1}@media(max-width:932px){.calendar-summary{flex-wrap:wrap}.calendar-summary__card{flex:1 1 calc(50% - .3rem)}}.calendar-header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;margin-bottom:.85rem}.timesheet-header{align-items:flex-start;flex-wrap:wrap}.timesheet-header__intro{flex:1 1 320px;min-width:0}.timesheet-header__intro h1{margin:0 0 .25rem}.timesheet-header__subtitle{margin:0;color:#64748b;font-size:.9rem;line-height:1.4}.timesheet-header .quick-range{flex:0 0 auto;justify-content:flex-end;align-self:flex-start;margin-top:.2rem}.calendar-body{display:flex;flex-direction:column;gap:1.25rem}.calendar-body>*{margin-bottom:0}.timesheet-breakdown{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;padding:1.25rem 1.5rem}.timesheet-breakdown .eyebrow{margin:0}.timesheet-breakdown h2{margin:.15rem 0 .5rem;font-size:1.05rem}.timesheet-breakdown__list{list-style:none;margin:.4rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem 1rem}.timesheet-breakdown__list li{display:grid;grid-template-columns:12px 1fr auto auto;align-items:baseline;gap:.5rem;padding:.4rem .6rem;border:1px solid #e2e8f0;border-radius:.6rem;background:#f8fafc}.timesheet-breakdown__dot{width:10px;height:10px;border-radius:50%;align-self:center}.timesheet-breakdown__label{color:#475569;font-size:.85rem}.timesheet-breakdown__list strong{font-weight:700;font-size:.95rem;color:#0f172a}.timesheet-breakdown__list small{color:#64748b;font-size:.78rem}.timesheet-chart-stack{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.timesheet-chart-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;padding-bottom:.75rem;border-bottom:1px solid #f1f5f9}.timesheet-chart-legend__item{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem;color:#475569}.timesheet-chart-legend__dot{width:10px;height:10px;border-radius:50%}.timesheet-chart{display:flex;flex-direction:column;gap:.75rem}.timesheet-chart__head h3{margin:0;font-size:1rem;color:#0f172a}.timesheet-chart__plot{display:flex;gap:.6rem;align-items:stretch}.timesheet-chart__yaxis{display:flex;flex-direction:column;justify-content:space-between;min-width:32px;padding:.4rem 0;font-size:.7rem;color:#94a3b8;text-align:right;flex:0 0 auto}.timesheet-chart__yaxis span{line-height:1}.timesheet-chart__bars{position:relative;flex:1 1 auto;min-width:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:.5rem;padding:.4rem .25rem 0;min-height:240px}.timesheet-chart__grid{position:absolute;left:0;right:0;height:1px;background:#f1f5f9;pointer-events:none}.timesheet-chart__grid:first-of-type{background:#cbd5f5}.timesheet-chart__col{position:relative;display:flex;flex-direction:column;align-items:center;gap:.4rem;min-width:56px}.timesheet-chart__bar-track{position:relative;width:100%;flex:1 1 auto;display:flex;align-items:flex-end;justify-content:center}.timesheet-chart__bar{position:relative;width:min(100%,56px);display:flex;flex-direction:column-reverse;border-radius:.5rem .5rem 0 0;overflow:hidden;background:#f8fafc;transition:filter .18s ease;cursor:default}.timesheet-chart__bar:hover{filter:brightness(1.06)}.timesheet-chart__seg{width:100%}.timesheet-chart__empty{height:4px;width:100%;background:#e2e8f0;border-radius:4px}.timesheet-chart__col-label{display:flex;flex-direction:column;align-items:center;gap:.1rem;width:100%;text-align:center;min-width:0}.timesheet-chart__col-label span{display:block;width:100%;font-size:.78rem;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timesheet-chart__col-label small{color:#94a3b8}.timesheet-chart__col-label strong{font-size:.82rem;color:#0f172a;font-weight:700}@media(max-width:768px){.calendar-body{gap:.85rem}.timesheet-chart-stack{padding:.85rem;gap:1rem}.timesheet-chart__yaxis{min-width:26px;font-size:.65rem}.timesheet-chart__bars{min-height:200px;grid-auto-columns:minmax(0,1fr);gap:.35rem}.timesheet-chart__col{min-width:44px}.timesheet-chart__bar{width:min(100%,36px)}.timesheet-chart__col-label span{font-size:.7rem}.timesheet-chart__col-label strong{font-size:.74rem}}.calendar-header__title{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.calendar-header__month{font-size:1rem;font-weight:500;color:var(--brand-primary);text-transform:capitalize}.calendar-header .header-actions{display:flex;align-items:center;justify-content:space-between;gap:1.25rem}.header-actions-left{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.add-rapportino-btn{height:48px;min-width:48px;padding:0 1rem;border-radius:.75rem;background:var(--brand-primary);color:#fff;font-size:1.1rem;font-weight:700;border:1px solid rgba(35,100,174,.8);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 20px #2364ae38}.add-rapportino-btn:hover{background:var(--brand-primary-strong)}.user-picker{display:flex;flex-direction:column;gap:.15rem;font-size:.85rem;color:#475569}.user-picker select,.user-picker input[type=search]{border:1px solid #cbd5f5;border-radius:.75rem;padding:.6rem .9rem;font-size:.95rem;background:#fff;transition:box-shadow .2s ease,border-color .2s ease;min-width:0}.user-picker input[type=search]::placeholder{color:#94a3b8}.user-picker select:focus,.user-picker input[type=search]:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #2364ae29}.client-autocomplete{position:relative}.client-autocomplete>input{width:100%;border:1px solid #e2e8f0;border-radius:.65rem;padding:.5rem .75rem;font:inherit;font-size:.9rem;font-weight:500;background:#fff;color:#0f172a;transition:border-color .15s ease,box-shadow .15s ease}.client-autocomplete>input:focus{outline:none;border-color:#2563eb73;box-shadow:0 0 0 2px #2563eb1f}.client-autocomplete>input::placeholder{color:#94a3b8}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 12px 30px #0f172a1f;max-height:230px;overflow-y:auto;z-index:1200;padding:.25rem}.autocomplete-item{width:100%;text-align:left;padding:.6rem .75rem;border:none;background:transparent;border-radius:.6rem;cursor:pointer;color:#0f172a;font-size:.95rem}.autocomplete-item:not(:last-child){margin-bottom:.1rem}.autocomplete-item:hover,.autocomplete-item:focus{background:#eef2ff;outline:none}.calendar-header h2{margin:0;font-size:1.4rem;color:#0f172a;line-height:1.1}.calendar-wrapper{background:#fff;border-radius:1rem;padding:1rem;box-shadow:inset 0 1px #0f172a0d;height:70vh;min-height:560px;width:100%;min-width:0}.mobile-month{background:#fff;border-radius:1rem;padding:.75rem;box-shadow:0 10px 30px #0f172a24;display:flex;flex-direction:column;gap:.6rem;touch-action:pan-y}.mobile-month--day{padding:0;box-shadow:none;border-radius:.75rem}.calendar-wrapper:has(.mobile-month--day){padding:0;height:auto;min-height:0}.mobile-month__toolbar{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.mobile-month__title{flex:1;display:flex;flex-direction:column;align-items:center;gap:.2rem}.mobile-month__label{font-weight:700;color:#0f172a;text-transform:capitalize;font-size:1rem}.mobile-month__today{background:transparent;border:1px solid #cbd5f5;color:#1d4ed8;font-weight:600;font-size:.75rem;padding:.15rem .7rem;border-radius:999px;cursor:pointer}.mobile-month__nav{width:42px;height:38px;border-radius:.65rem;background:#eef2ff;color:#1d4ed8;font-weight:700;border:1px solid #dbeafe;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0;cursor:pointer}.mobile-month__weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:0 2px}.mobile-month__weekday{text-align:center;font-size:.72rem;font-weight:700;text-transform:uppercase;color:#64748b;letter-spacing:0;padding:.35rem 0}.mobile-month__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px}.mobile-month .mobile-month__cell{position:relative;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:56px;padding:6px 2px;background:#fff;background-image:none;border:1px solid #f1f5f9;border-radius:.7rem;cursor:pointer;font:inherit;color:#0f172a;box-shadow:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}.mobile-month .mobile-month__cell:hover{background:#f1f5f9;transform:none;box-shadow:none}.mobile-month .mobile-month__cell--out{background:#f8fafc}.mobile-month .mobile-month__cell--out .mobile-month__day-number{color:#cbd5e1}.mobile-month .mobile-month__cell--today{border-color:var(--brand-primary)}.mobile-month .mobile-month__cell--selected{background:#1e3a8a;background-image:none;border-color:#1e3a8a;box-shadow:0 4px 14px #1e3a8a59}.mobile-month .mobile-month__cell--selected:hover{background:#1e3a8a}.mobile-month .mobile-month__cell--selected .mobile-month__day-number,.mobile-month .mobile-month__cell--selected.mobile-month__cell--out .mobile-month__day-number{color:#fff}.mobile-month__day-number{font-size:.95rem;font-weight:700;line-height:1}.mobile-month__day-badge{background:var(--brand-primary);color:#fff;font-size:.7rem;font-weight:700;min-width:18px;padding:1px 6px;border-radius:999px;line-height:1.1;display:inline-flex;align-items:center;justify-content:center}.mobile-month__cell--selected .mobile-month__day-badge{background:#fff;color:var(--brand-primary)}.mobile-view-switch{display:inline-flex;align-self:center;background:#eef2ff;border:1px solid #dbeafe;border-radius:999px;padding:3px;gap:2px}.mobile-view-switch__btn{border:0;background:transparent;color:#1d4ed8;font-weight:600;font-size:.8rem;padding:.3rem .9rem;border-radius:999px;cursor:pointer;line-height:1}.mobile-view-switch__btn.is-active{background:#1e3a8a;color:#fff;box-shadow:0 2px 6px #1e3a8a40}.mobile-day{display:flex;flex-direction:column;touch-action:pan-y}.mobile-day .mobile-month__toolbar{background:#fff;padding:.4rem .25rem;border-bottom:1px solid #e2e8f0;margin:0}.mobile-day__bar--pinned{position:fixed;top:0;left:0;right:0;z-index:50;box-shadow:0 2px 6px #0f172a1f}.mobile-day__bar-placeholder{height:56px}.mobile-day__title{flex-direction:row!important;align-items:center;justify-content:center;gap:.5rem;flex-wrap:nowrap}.mobile-day__label{text-transform:capitalize;font-size:.95rem;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:0 1 auto;min-width:0}.mobile-day__grid{position:relative;background:#fff}.mobile-day__canvas{position:relative;margin-left:52px;border-left:1px solid #e2e8f0}.mobile-day__hour-row{position:absolute;left:-52px;right:0;display:flex;align-items:flex-start;pointer-events:none}.mobile-day__hour-label{width:52px;flex-shrink:0;text-align:right;padding:0 8px 0 0;font-size:.7rem;font-weight:600;color:#94a3b8;transform:translateY(-7px);background:#fff}.mobile-day__hour-line{flex:1;border-top:1px solid #eef2f7;margin-top:0}.mobile-day__event{position:absolute;background-image:none;border:1px solid rgba(15,23,42,.05);border-left-width:3px;border-left-style:solid;border-radius:6px;padding:4px 6px;text-align:left;font:inherit;color:#0f172a;display:flex;flex-direction:column;gap:2px;overflow:hidden;cursor:pointer;box-shadow:0 1px 3px #0f172a14}.mobile-day__event:not(:disabled):hover{box-shadow:0 1px 3px #0f172a14;transform:none}.mobile-day__event--compact{padding:1px 6px;flex-direction:row;align-items:center;gap:6px;justify-content:flex-start}.mobile-day__event--compact .mobile-day__event-line{display:flex;align-items:center;gap:6px;width:100%;min-width:0}.mobile-day__event--compact .mobile-day__event-time{font-size:.72rem;font-weight:700;color:#0f172a;flex-shrink:0}.mobile-day__event--compact .mobile-day__event-title{font-size:.78rem;font-weight:600;flex:1;min-width:0}.mobile-day__event-title{font-size:.78rem;font-weight:700;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-day__event-time{font-size:.7rem;color:#475569;line-height:1}.mobile-day__now{position:absolute;left:-6px;right:0;display:flex;align-items:center;pointer-events:none;z-index:2}.mobile-day__now-dot{width:10px;height:10px;border-radius:50%;background:#ef4444;flex-shrink:0}.mobile-day__now-line{flex:1;height:2px;background:#ef4444}.rbc-calendar{font-family:Inter,system-ui,sans-serif;font-size:.9rem}.rbc-toolbar-label{display:none}.rbc-header{font-weight:700;color:#0f172a;font-size:.85rem;padding:.45rem .35rem}.rbc-time-view .rbc-time-header{background:#f8fafc}.rbc-time-slot{min-height:30px}.rbc-row.rbc-time-header-cell{min-height:auto;display:flex;align-items:center}.rbc-time-view .rbc-time-content>*+*>*{border-left:1px solid #e2e8f0}.rbc-event{font-size:.85rem;font-weight:600;padding:3px 6px}.rbc-time-view .rbc-event{font-size:.82rem;font-weight:600;padding:3px 5px;line-height:1.15;display:flex;flex-direction:column;gap:0;white-space:normal;min-height:22px;border-radius:5px}.rbc-time-view .rbc-event-content{overflow:hidden;flex:1;min-height:0}.rbc-time-view .rbc-event-label{display:none}.rbc-event-content-inner{display:flex;flex-direction:column;gap:1px;height:100%;overflow:hidden;cursor:pointer}.rbc-event-content-inner__title{font-weight:700;font-size:.8rem;line-height:1.15;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-break:break-word}.rbc-event-content-inner__time{font-size:.7rem;font-weight:500;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rbc-event-content-inner__title{color:#0f172a}.rbc-month-view .rbc-event{font-size:.78rem;padding:2px 5px;min-height:0;border-radius:4px}.rbc-month-view .rbc-event .rbc-event-content-inner{flex-direction:row;align-items:center;gap:4px}.rbc-month-view .rbc-event .rbc-event-content-inner__title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.78rem;font-weight:600;flex:1;min-width:0}.rbc-month-view .rbc-event .rbc-event-content-inner__time{display:none}.rbc-day-slot .rbc-event:hover,.rbc-month-view .rbc-event:hover{filter:brightness(.97)}.rbc-time-view .rbc-day-slot .rbc-event{transition:box-shadow .15s ease}.rbc-time-view .rbc-day-slot .rbc-event:hover{z-index:10;box-shadow:0 6px 16px #0f172a24}.rbc-month-view{border-radius:.6rem;border:1px solid #e2e8f0;overflow:hidden}.rbc-month-view .rbc-header{background:#f8fafc;text-transform:uppercase;font-size:.75rem;letter-spacing:.04em;color:#475569;padding:.5rem .4rem;border-bottom:1px solid #e2e8f0}.rbc-month-view .rbc-month-row{min-height:92px;border-color:#eef2f7}.rbc-month-view .rbc-date-cell{text-align:right;padding:.25rem .5rem 0;font-size:.78rem;font-weight:600;color:#0f172a}.rbc-month-view .rbc-off-range-bg{background:#fafbff}.rbc-month-view .rbc-off-range{color:#cbd5f5}.rbc-month-view .rbc-today{background:#2563eb0f}.rbc-month-view .rbc-now>.rbc-button-link{background:#2563eb;color:#fff;padding:1px 7px;border-radius:999px;font-weight:700}.rbc-show-more{color:#1d4ed8;font-weight:600;font-size:.72rem;margin-top:1px;padding:0 4px;background:transparent}.rbc-show-more:hover{text-decoration:underline}.calendar-event-tooltip{position:fixed;z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;box-shadow:0 14px 36px #0f172a2e;padding:.75rem .85rem;pointer-events:none;display:flex;flex-direction:column;gap:.4rem;font-size:.82rem}.calendar-event-tooltip__head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.calendar-event-tooltip__head strong{color:#0f172a;font-size:.95rem;font-weight:700;line-height:1.15}.calendar-event-tooltip__head span{color:#1d4ed8;font-weight:600;font-size:.78rem;white-space:nowrap}.calendar-event-tooltip__date{color:#64748b;font-size:.76rem;text-transform:capitalize;border-bottom:1px solid #e2e8f0;padding-bottom:.4rem}.calendar-event-tooltip__row{display:flex;justify-content:space-between;gap:.75rem}.calendar-event-tooltip__row span{color:#64748b}.calendar-event-tooltip__row strong{color:#0f172a;font-weight:600}.calendar-event-tooltip__badges{display:flex;flex-wrap:wrap;gap:.3rem;padding-top:.2rem}.calendar-event-tooltip__badge{background:#2563eb1a;color:#1d4ed8;border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:600}.calendar-event-tooltip__notes{margin-top:.2rem;padding-top:.4rem;border-top:1px solid #e2e8f0;color:#475569;font-size:.78rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.rbc-day-slot .rbc-event,.rbc-event.rbc-selected{box-shadow:0 6px 16px #0f172a14}.details-panel{margin-top:1.5rem;background:#f8fafc;border-radius:1rem;padding:1.5rem;min-height:120px;display:flex;flex-direction:column;gap:1rem}.details-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.details-header h3{margin:0}.details-list{display:flex;flex-direction:column;gap:1rem;max-height:360px;overflow:auto}.event-details{background:#fff;border-radius:.85rem;padding:1rem 1.1rem;border-left:4px solid var(--brand-primary);box-shadow:0 4px 12px #0f172a14;cursor:pointer}.event-details.active{background:#e0e7ff}.event-details__header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.event-details h4{margin:0;color:#0f172a}.event-details__time{font-size:.95rem}.event-details__date{margin:0;color:#334155;font-size:.9rem}.event-details p{margin:.3rem 0;color:#475569}.event-details__hours{display:flex;gap:.35rem;align-items:center}.event-details__badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .55rem;border-radius:999px;background:#e0f2fe;color:#0f172a;font-weight:700;font-size:.85rem;white-space:nowrap}.event-details__badge--muted{background:#f1f5f9;color:#475569}.event-details__badge--package{background:#fef3c7;color:#92400e}.event-details__badge--amount{background:#ecfdf3;color:#166534}.event-details__notes{margin-top:.5rem;background:#fff;padding:.75rem;border-radius:.75rem;border:1px solid #e2e8f0;font-size:.9rem;line-height:1.4}.search-page{display:flex;flex-direction:column;gap:1rem}.search-page__bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.55rem .85rem .55rem .55rem;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 8px 22px #0f172a0d}.search-page__input-wrapper{position:relative;flex:1 1 360px;min-width:0;display:flex;align-items:center}.search-page__input-icon{position:absolute;left:.85rem;display:inline-flex;color:#94a3b8;pointer-events:none}.search-page__input{width:100%;border:none;background:transparent;padding:.7rem 2.4rem .7rem 2.65rem;font-size:1rem;color:#0f172a;border-radius:.75rem}.search-page__input::placeholder{color:#94a3b8}.search-page__input:focus{outline:none;background:#f8fafc}.search-page__input-clear{position:absolute;right:.55rem;width:26px;height:26px;border-radius:999px;border:none;background:#f1f5f9;color:#64748b;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.search-page__input-clear:hover{background:#e2e8f0;color:#0f172a}.search-page__date-toolbar{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:.4rem;padding:.3rem .55rem .3rem .75rem;border:1px solid #e2e8f0;border-radius:999px;background:#f8fafc;flex:0 0 auto}.search-page__date-toolbar-label{font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#64748b}.search-page__date-toolbar input[type=date]{height:32px;padding:.2rem .5rem;border:1px solid #cbd5f5;border-radius:.5rem;font-size:.85rem;background:#fff;color:#0f172a;font-variant-numeric:tabular-nums}.search-page__date-toolbar input[type=date]:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #2364ae29}.search-page__date-toolbar-sep{color:#cbd5f5;font-weight:700}.search-page__date-clear{width:26px;height:26px;padding:0;border-radius:999px;border:none;background:transparent;color:#94a3b8;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.search-page__date-clear:hover{background:#fee2e2;color:#b91c1c}@media(max-width:720px){.search-page__bar{padding:.55rem;gap:.55rem}.search-page__input-wrapper{flex:1 1 100%}.search-page__input{font-size:.95rem;padding:.6rem 2.25rem .6rem 2.5rem}.search-page__date-toolbar{flex:1 1 100%;width:100%;justify-content:flex-start;gap:.35rem;padding:.3rem .5rem}.search-page__date-toolbar input[type=date]{flex:1 1 0;min-width:0;width:100%;font-size:.8rem;padding:.2rem .35rem}.search-page__date-toolbar-label{font-size:.65rem}}.search-highlight{background:#fef08a;color:#713f12;padding:0 .15rem;border-radius:.2rem}.search-results__header{align-items:baseline}.search-result-card[role=button]{cursor:pointer;-webkit-tap-highlight-color:transparent}.search-result-card[role=button]:focus-visible{outline:2px solid var(--brand-primary, #1d4ed8);outline-offset:2px}.search-page__user-filters{margin-bottom:0;padding:.6rem .85rem;background:#f8fafc}.search-results{background:#f8fafc;border-radius:1rem;padding:1.25rem 1.5rem;min-height:200px;display:flex;flex-direction:column;gap:.9rem}.search-results__hint{margin:0;color:#475569}.search-results__list{max-height:none;gap:.75rem}.search-results__load-more{display:flex;justify-content:center;margin-top:.5rem}.search-result-card{gap:.7rem;padding:1rem 1.15rem;border-radius:.85rem;background:#fff;border:1px solid #e2e8f0;transition:box-shadow .15s ease,transform .15s ease}.search-result-card:hover{box-shadow:0 8px 22px #0f172a12;transform:translateY(-1px)}.search-result-card__meta{display:flex;flex-wrap:wrap;gap:.4rem}.meta-badge--accent{background:#2364ae1f;color:var(--brand-primary-strong)}.search-result-card__anomaly{margin:0;color:#92400e;font-size:.92rem}.event-details__badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.agenda-event__badges{display:inline-flex;gap:.35rem;margin-left:.5rem;flex-wrap:wrap;vertical-align:middle}.agenda-event{position:relative;display:block;padding-right:26px}.agenda-event__signed{position:absolute;top:2px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#16a34a;color:#fff;font-size:.7rem;line-height:1;font-weight:700;flex-shrink:0}.rbc-event-content-inner{position:relative}.rbc-event-content-inner__signed{position:absolute;top:2px;right:2px;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;background:#16a34a;color:#fff;font-size:.55rem;line-height:1;font-weight:700}.agenda-time{display:flex;flex-direction:column;gap:.15rem}.agenda-time__split{display:flex;gap:.35rem;font-size:.9rem;color:#334155}.meta-badge{background:#0f172a14;color:#0f172a;border-radius:999px;padding:.2rem .65rem;font-size:.8rem;font-weight:600;text-transform:uppercase}.meta-badge--remote{background:#dbeafe;color:#0f172a}.dashboard{display:flex;gap:1.25rem;width:100%;max-width:none;min-height:auto}.sidebar{width:50px;background:linear-gradient(180deg,var(--brand-primary-strong),var(--brand-primary));color:#f8fbff;border-radius:1rem;padding:.65rem .45rem;display:flex;flex-direction:column;justify-content:space-between;align-items:center;box-shadow:0 12px 28px #0f172a29;position:sticky;top:1.2rem;align-self:flex-start;max-width:100%;max-height:calc(100vh - 2.4rem);overflow-y:auto;scrollbar-width:none;z-index:20}.sidebar::-webkit-scrollbar{width:0;height:0}.sidebar__head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;width:100%;margin-bottom:.6rem;padding-bottom:.4rem;margin-top:.35rem;flex-shrink:0}.user-pill-stack{display:flex;flex-direction:column;align-items:center;gap:.35rem}.user-pill{width:42px;height:42px;border-radius:10px;background:transparent;color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.25rem;text-transform:uppercase;box-shadow:none;border:none}.sidebar nav{display:flex;flex-direction:column;gap:.45rem;margin-top:.4rem;width:100%;transition:transform .25s ease;max-width:100%;flex-shrink:0}.sidebar nav button{width:100%;border-radius:.75rem;padding:.42rem 0;text-align:center;background:#ffffff14;border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;gap:.45rem;justify-content:center;color:#f8fbff;transition:background .2s ease,transform .2s ease,border-color .2s ease}.sidebar nav button.active{background:#fff;color:var(--brand-primary-strong);border-color:#fff9;box-shadow:0 8px 18px #2364ae38}.logout-pill{border:none;background:#ef4444f2;color:#fff;border-radius:12px;padding:.35rem .75rem;font-weight:700;cursor:pointer}.sidebar-nav__action{width:100%;border-radius:.75rem;padding:.55rem 0;display:flex;align-items:center;gap:.45rem;justify-content:center;background:#ffffff14;border:1px solid rgba(255,255,255,.08);color:#eef4ff}.sidebar-nav__action:hover{background:#ffffff29;transform:translateY(-2px)}.sidebar-nav__logout{display:none;width:100%;border-radius:.9rem;padding:.75rem 0;display:flex;align-items:center;gap:.45rem;justify-content:center;background:#ef4444f2;color:#fff;border:none}.sidebar-nav__section{display:flex;flex-direction:column;gap:.45rem;width:100%}.sidebar-nav__section-label,.sidebar__head-user{display:none}.sidebar__foot{display:flex;flex-direction:column;gap:.45rem;width:100%;margin-top:.45rem;flex-shrink:0}@media(max-width:932px){.sidebar{flex-direction:column;align-items:center;gap:.75rem;padding:0 1.25rem 1.25rem;position:static;align-self:stretch;border-radius:1rem;top:auto}.sidebar__head{flex-direction:row;justify-content:center;margin-top:0;margin-bottom:.75rem}.sidebar__head .user-pill-stack{display:none}.sidebar nav,.sidebar-nav{flex-direction:row;flex-wrap:nowrap;justify-content:flex-start;gap:.6rem;margin-top:0;width:100%;overflow-x:auto;padding-bottom:.5rem}.sidebar nav button,.sidebar-nav button,.sidebar-nav__action{width:auto;padding:.6rem .9rem;min-width:78px;justify-content:center;white-space:nowrap}.logout-pill{display:none}.sidebar-nav__logout{display:flex;width:auto;padding:.6rem .9rem;min-width:78px;white-space:nowrap}.sidebar button[data-tooltip]:after,.sidebar button[data-tooltip]:hover:after{display:none}.logout-btn{margin-top:1rem;width:100%;background:#ef4444f2;display:flex;align-items:center;gap:.45rem;justify-content:center}}.nav-label{display:none}.sidebar button[data-tooltip]{position:relative;z-index:5}.sidebar button[data-tooltip]:after{content:attr(data-tooltip);position:absolute;left:100%;top:50%;transform:translate(8px,-50%);background:#0f172a;color:#fff;padding:.3rem .7rem;border-radius:999px;font-size:.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;text-align:left;box-shadow:0 10px 24px #0f172a47;z-index:1000}.sidebar button[data-tooltip]:hover:after{opacity:1}.main-content{flex:1;background:linear-gradient(180deg,#ffffffeb,#fffffffa);border-radius:1.5rem;padding:2rem;box-shadow:var(--brand-shadow);overflow:hidden;display:flex;flex-direction:column;min-width:0}.clients-page header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.clients-header h2{margin:0;font-size:1.4rem;color:#0f172a;line-height:1.1}.clients-actions{display:flex;align-items:center;gap:.5rem;flex:1;max-width:540px;justify-content:flex-end}.clients-search{display:inline-flex;align-items:center;gap:.5rem;flex:1;min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:.7rem;padding:.5rem .75rem;color:#64748b;transition:border-color .15s ease,box-shadow .15s ease}.clients-search:focus-within{border-color:#2563eb8c;box-shadow:0 0 0 2px #2563eb1f}.clients-search input{flex:1;border:none;outline:none;font:inherit;font-size:.9rem;background:transparent;color:#0f172a;min-width:0}.clients-search input::placeholder{color:#94a3b8}.clients-icon-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:.7rem;cursor:pointer;color:#475569;font-size:1.05rem;font-weight:700;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.clients-icon-button:hover{background:#eff6ff;border-color:#2563eb66;color:#1d4ed8}.clients-icon-button--primary{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-strong));color:#fff;border-color:transparent}.clients-icon-button--primary:hover{background:linear-gradient(135deg,var(--brand-primary-strong),var(--brand-primary));color:#fff;border-color:transparent}.clients-icon-button--active{background:#fee2e2;border-color:#fecaca;color:#b91c1c}.clients-icon-button--active:hover{background:#fecaca;color:#991b1b}.clients-summary{display:flex;flex-wrap:nowrap;gap:.6rem}.clients-summary__card{flex:1 1 0;min-width:0;border:1px solid #dbe5f0;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:.95rem;padding:.75rem .95rem;display:flex;flex-direction:column;gap:.2rem;text-align:left;font:inherit;cursor:pointer;transition:border-color .15s ease,transform .1s ease,box-shadow .15s ease}.clients-summary__card:hover{border-color:#2563eb66;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.clients-summary__card:focus-visible{outline:2px solid rgba(37,99,235,.4);outline-offset:3px}.clients-summary__card small{color:#64748b;font-size:.78rem}.clients-summary__card strong{color:#0f172a;font-size:1.1rem;line-height:1.1}.clients-summary__card--selected{border-color:#2563eb8c;box-shadow:0 0 0 2px #2563eb2e}@media(max-width:932px){.clients-summary{flex-wrap:wrap}.clients-summary__card{flex:1 1 calc(50% - .3rem)}.clients-summary__card:nth-child(5):last-child{flex-basis:100%}}.multi-delete-toggle{width:44px;height:44px;border-radius:.9rem;border:1px solid rgba(35,100,174,.2);background:#fff;color:var(--brand-primary);font-size:1.5rem;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,background .15s ease,color .15s ease}.multi-delete-toggle:hover{transform:translateY(-1px);box-shadow:0 8px 20px #2364ae40}.multi-delete-toggle.active{background:#fee2e2;color:#b91c1c;border-color:#fecaca;box-shadow:0 8px 20px #b91c1c40}.quick-filters{margin-top:.75rem;display:flex;gap:.75rem;flex-wrap:wrap}.quick-filters button{border:1px solid #cbd5f5;border-radius:999px;background:#fff;color:var(--brand-primary);padding:.4rem 1rem;font-size:.9rem}.quick-filters button.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.quick-filters .pill{margin-left:.5rem;background:#fff3;border-radius:999px;padding:.15rem .5rem;font-size:.8rem}.clients-page{display:flex;flex-direction:column;flex:1;min-height:0;gap:.85rem}.packages-page{display:flex;flex-direction:column;flex:1;gap:1rem}.packages-page header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.packages-header h2{margin:0;font-size:1.4rem;color:#0f172a;display:inline-flex;align-items:center;gap:.6rem;line-height:1.1}.packages-header__count{background:#0f172a0f;color:#475569;border-radius:999px;padding:.1rem .7rem;font-size:.85rem;font-weight:600}.packages-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.packages-search{display:inline-flex;align-items:center;gap:.5rem;flex:1 1 240px;min-width:0;background:#fff;border:1px solid #e2e8f0;border-radius:.7rem;padding:.5rem .75rem;color:#64748b;transition:border-color .15s ease,box-shadow .15s ease}.packages-search:focus-within{border-color:#2563eb73;box-shadow:0 0 0 3px #2563eb1f}.packages-search input{flex:1;border:none;outline:none;font:inherit;font-size:.9rem;background:transparent;color:#0f172a;min-width:0}.packages-search input::placeholder{color:#94a3b8}.packages-duration-select{appearance:none;-webkit-appearance:none;border:1px solid #e2e8f0;border-radius:.7rem;padding:.5rem 2.2rem .5rem .85rem;font:inherit;font-size:.9rem;font-weight:500;color:#0f172a;background:#fff url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e") no-repeat right .7rem center / 14px 14px;cursor:pointer;min-width:200px;transition:border-color .15s ease,box-shadow .15s ease}.packages-duration-select:focus{outline:none;border-color:#2563eb73;box-shadow:0 0 0 3px #2563eb1f}.packages-refresh{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid #e2e8f0;background:#fff;border-radius:.7rem;cursor:pointer;color:#475569;font-size:1.1rem;line-height:1;transition:background .15s ease,border-color .15s ease,color .15s ease}.packages-refresh:hover:not(:disabled){background:#eff6ff;border-color:#2563eb66;color:#1d4ed8}.packages-refresh:disabled{opacity:.5;cursor:not-allowed}.packages-placeholder{border:1px dashed #cbd5f5;border-radius:1rem;padding:2rem;text-align:center;color:#475569;font-size:.95rem;background:#fff}.packages-table-wrapper{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;overflow:auto}.packages-table{width:100%;border-collapse:collapse}.packages-table th,.packages-table td{padding:.85rem 1.1rem;border-bottom:1px solid #edf2f7;text-align:left}.packages-table th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc}.packages-sort-button{appearance:none;border:0;background:transparent;color:inherit;padding:0;display:inline-flex;align-items:center;gap:.35rem;font:inherit;font-weight:800;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.packages-sort-button:hover,.packages-sort-button.active{color:#1d4ed8}.packages-sort-button:focus-visible{outline:2px solid rgba(37,99,235,.35);outline-offset:3px;border-radius:.35rem}.packages-sort-button__icon{min-width:1em;font-size:.75rem;line-height:1}.packages-table tr:last-child td{border-bottom:none}.packages-summary{display:flex;flex-wrap:nowrap;gap:.6rem}.packages-summary__card{flex:1 1 0;min-width:0;border:1px solid #dbe5f0;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:.95rem;padding:.75rem .95rem;display:flex;flex-direction:column;gap:.25rem}.packages-summary__card small{color:#64748b;font-size:.78rem}.packages-summary__card strong{color:#0f172a;font-size:1.1rem;line-height:1.1}.packages-summary__card--critical{border-color:#dc262666;background:linear-gradient(180deg,#fff,#fef2f2)}.packages-summary__card--critical strong{color:#b91c1c}.packages-summary__card--warning{border-color:#d9770666;background:linear-gradient(180deg,#fff,#fffbeb)}.packages-summary__card--warning strong{color:#b45309}.packages-summary__card--clickable{font:inherit;text-align:left;cursor:pointer;appearance:none;transition:border-color .15s ease,transform .1s ease,box-shadow .15s ease}.packages-summary__card--clickable:hover{border-color:#2563eb66;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.packages-summary__card--clickable:focus-visible{outline:2px solid rgba(37,99,235,.4);outline-offset:3px}.packages-summary__card--selected{border-color:#2563eb8c;box-shadow:0 0 0 2px #2563eb2e}.packages-summary__card--critical.packages-summary__card--selected{border-color:#dc262699;box-shadow:0 0 0 2px #dc26262e}.packages-summary__card--warning.packages-summary__card--selected{border-color:#d9770699;box-shadow:0 0 0 2px #d977062e}.packages-summary__bar{margin-top:.3rem;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.packages-summary__bar-fill{height:100%;background:linear-gradient(90deg,#2563eb,#1d4ed8);border-radius:999px}.packages-status-filters{display:flex;flex-wrap:wrap;gap:.4rem}.packages-status-chip{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #e2e8f0;background:#fff;border-radius:999px;padding:.35rem .85rem;font-size:.82rem;font-weight:600;color:#475569;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.packages-status-chip:hover{background:#f1f5f9;border-color:#cbd5f5}.packages-status-chip.active{background:#2563eb1f;border-color:#2563eb66;color:#1d4ed8}.packages-status-chip__count{background:#0f172a0f;border-radius:999px;padding:.05rem .5rem;font-size:.72rem;color:#475569}.packages-status-chip.active .packages-status-chip__count{background:#2563eb2e;color:#1d4ed8}.packages-progress{display:flex;flex-direction:column;gap:.3rem;min-width:140px}.packages-progress__values{display:flex;align-items:baseline;gap:.5rem}.packages-progress__values strong{font-size:1rem;color:#0f172a}.packages-progress__percent{font-size:.75rem;color:#64748b}.packages-progress__bar{width:100%;height:6px;background:#e2e8f0;border-radius:999px;overflow:hidden}.packages-progress__fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#16a34a,#22c55e);transition:width .25s ease}.packages-progress__bar--warning .packages-progress__fill{background:linear-gradient(90deg,#d97706,#f59e0b)}.packages-progress__bar--critical .packages-progress__fill{background:linear-gradient(90deg,#b91c1c,#ef4444)}.packages-renewal{display:flex;flex-direction:column;gap:.25rem}.packages-renewal__badge{display:inline-flex;align-items:center;width:fit-content;border-radius:999px;padding:.1rem .5rem;font-size:.72rem;font-weight:600}.packages-renewal__badge--warning{background:#d977061f;color:#b45309}.packages-renewal__badge--critical{background:#dc26261f;color:#b91c1c}.packages-row--critical{background:#dc26260d}.packages-row--warning{background:#d977060d}.packages-row{cursor:pointer}@media(max-width:932px){.packages-summary{flex-wrap:wrap}.packages-summary__card{flex:1 1 calc(50% - .3rem)}}.packages-table tr.critical{background:#dc26261a}.packages-table tr.critical td{border-bottom-color:#dc262640}@media(max-width:900px){.packages-table,.packages-table thead,.packages-table tbody,.packages-table th,.packages-table td,.packages-table tr{display:block}.packages-table thead{display:none}.packages-table-wrapper{overflow:visible}.packages-table tbody tr{display:flex;flex-wrap:wrap;gap:.7rem .75rem;padding:.9rem 1rem;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 8px 20px #0f172a14;margin-bottom:.85rem;background:#fff}.packages-table tbody tr:last-child{margin-bottom:0}.packages-table td{flex:1 1 100%;border:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;font-size:.95rem;color:#0f172a}.packages-table td:before{content:attr(data-label);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.packages-table td[data-label=Descrizione]{flex-direction:row;align-items:center;gap:.7rem;padding-bottom:.75rem;border-bottom:1px solid #eef2f7}.packages-table td[data-label=Descrizione]:before{display:none}.packages-table td[data-label=Descrizione] .client-name{width:100%;gap:.65rem;align-items:center}.packages-table td[data-label=Descrizione] .client-name>div{display:flex;flex-direction:column;gap:.1rem;flex:1 1 auto;min-width:0}.packages-table td[data-label=Descrizione] .client-name .name{font-size:1.02rem;font-weight:700;line-height:1.2;word-break:break-word}.packages-table td[data-label=Descrizione] .color-dot{flex:0 0 auto;width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0f172a1a}.packages-table td[data-label="Ore totali"]{font-size:1.05rem;font-weight:700}.packages-table td[data-label="Ore residue"]{gap:.5rem;padding:.8rem .85rem;background:#f8fafc;border:1px solid #eef2f7;border-radius:.85rem}.packages-table td[data-label="Ore residue"]:before{color:#64748b}.packages-table td[data-label="Ore residue"] .packages-progress{width:100%;min-width:0;gap:.55rem}.packages-table td[data-label="Ore residue"] .packages-progress__values{width:100%;justify-content:space-between;align-items:baseline}.packages-table td[data-label="Ore residue"] .packages-progress__values strong{font-size:1.45rem;font-weight:800;line-height:1}.packages-table td[data-label="Ore residue"] .packages-progress__percent{font-size:.72rem;font-weight:700;color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:999px;padding:.15rem .55rem}.packages-table td[data-label="Ore residue"] .packages-progress__bar{height:10px}.packages-table td[data-label="Ultimo rinnovo"],.packages-table td[data-label="Prossimo rinnovo"]{flex:1 1 calc(50% - .375rem)}.packages-table td[data-label="Prossimo rinnovo"] .packages-renewal{gap:.3rem}}.revenue-page{display:flex;flex-direction:column;gap:1rem;flex:1}.revenue-page header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.range-filter{display:flex;gap:1rem;flex-wrap:wrap;align-items:flex-end}.range-filter--inline{flex:0 1 auto}.revenue-range-panel{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.7rem}.timesheet-range-panel{display:flex;flex-direction:column;gap:.6rem;margin-bottom:.9rem}.range-filter label{display:flex;flex-direction:column;font-size:.85rem;color:#475569}.range-filter__controls{display:flex;align-items:center;gap:.55rem;margin-top:.25rem}.range-filter--inline .range-filter__controls{margin-top:0}.range-filter select,.range-filter input[type=number],.range-filter input[type=month]{border:1px solid #cbd5f5;border-radius:.75rem;padding:.45rem .75rem;font-size:.95rem;height:42px;line-height:1;box-sizing:border-box;background:#fff;color:#0f172a;font-family:inherit}.range-filter select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'><path d='M1 1l4 4 4-4' fill='none' stroke='%2364748b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right .6rem center;padding-right:1.8rem}.range-filter select{min-width:10.5rem}.range-filter input[type=number]{width:6.5rem}.range-filter button{padding:.55rem 1.2rem;font-size:.9rem}.range-filter__separator{color:#64748b;font-weight:700}@media(max-width:768px){.range-filter{gap:.5rem}.range-filter>label{flex:1 1 calc(50% - .25rem);min-width:0;font-size:.75rem}.range-filter__controls{gap:.35rem;margin-top:.2rem}.range-filter select,.range-filter input[type=number],.range-filter input[type=month]{height:38px;padding:.35rem .55rem;font-size:.85rem}.range-filter select{min-width:0;flex:1 1 0;padding-right:1.6rem;background-position:right .5rem center}.range-filter input[type=number]{width:4.5rem;flex:0 0 auto}}.revenue-range-nav{display:flex;align-items:center;gap:.5rem;flex:1 1 100%}.revenue-range-nav button{width:42px;height:42px;padding:0;border-radius:.75rem;background:#f1f5f9;color:#0f172a;font-size:1.2rem;font-weight:700}.revenue-range small{color:#475569}.warning{background:#fef3c7;color:#92400e;padding:.6rem .9rem;border-radius:.75rem;font-size:.85rem}.user-filters{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.user-filter-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.user-filter-actions__group,.user-filter-actions__toggles{display:contents}.user-filter-actions button{background:#f1f5f9;color:#1f2937;padding:.4rem .9rem;border-radius:.75rem;font-size:.85rem}.user-filter-list{display:flex;flex-wrap:wrap;gap:.5rem}.user-chip{--chip-color: #94a3b8;border:1px solid #e2e8f0;background:#fff;color:#475569;padding:.25rem .7rem .25rem .3rem;border-radius:999px;font-size:.85rem;font-weight:500;display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.user-chip:hover{border-color:color-mix(in srgb,var(--chip-color) 50%,#e2e8f0)}.user-chip__avatar{width:24px;height:24px;min-width:24px;border-radius:999px;background:var(--chip-color);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;box-shadow:0 0 0 2px #fff inset}.user-chip__name{white-space:nowrap}.user-chip.active{border-color:var(--chip-color);background:color-mix(in srgb,var(--chip-color) 16%,#ffffff);color:#0f172a;font-weight:600}.user-chip.active .user-chip__avatar{box-shadow:0 0 0 2px color-mix(in srgb,var(--chip-color) 16%,#ffffff) inset}@media(max-width:768px){.user-chip{padding:.15rem .55rem .15rem .2rem;font-size:.78rem;gap:.35rem}.user-chip__avatar{width:20px;height:20px;min-width:20px;font-size:.62rem;box-shadow:0 0 0 1.5px #fff inset}.user-chip.active .user-chip__avatar{box-shadow:0 0 0 1.5px color-mix(in srgb,var(--chip-color) 16%,#ffffff) inset}}.revenue-toggle{display:inline-flex;align-items:center;gap:.6rem;padding:.35rem .2rem;color:#334155;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.revenue-toggle input{position:absolute;opacity:0;pointer-events:none}.revenue-toggle__track{width:38px;height:22px;border-radius:999px;background:#dbe4f0;padding:2px;display:inline-flex;align-items:center;transition:background-color .2s ease;flex:0 0 auto}.revenue-toggle__thumb{width:18px;height:18px;border-radius:50%;background:#64748b;box-shadow:0 1px 3px #0f172a3d;transition:transform .2s ease,background-color .2s ease}.revenue-toggle.active{color:#0f172a}.revenue-toggle.active .revenue-toggle__track{background:#0f766e2e}.revenue-toggle.active .revenue-toggle__thumb{transform:translate(16px)}.revenue-toggle__label{line-height:1.2}.revenue-visual{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;padding:1.5rem;display:flex;gap:2rem;flex-wrap:wrap;align-items:flex-start}.revenue-pie-container{position:relative;width:260px;height:260px;flex:0 0 auto}.revenue-pie{width:100%;height:100%}.revenue-pie path{opacity:.85;transition:opacity .2s ease,transform .2s ease;cursor:pointer;stroke:#fff;stroke-width:1}.revenue-pie path:hover{opacity:1;transform:scale(1.02)}.pie-legend__item.active .legend-dot{opacity:1}.pie-total{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;background:#fff;border-radius:999px;padding:.75rem 1rem;box-shadow:0 10px 25px #0f172a26}.pie-total small{display:block;font-size:.8rem;color:#64748b}.pie-total strong{font-size:1.1rem;color:#0f172a}.pie-legend{flex:1;display:flex;flex-direction:column;gap:.6rem}.pie-legend__item{display:flex;align-items:center;gap:.5rem;padding:.6rem .75rem;border:1px solid transparent;border-radius:.9rem;transition:border-color .2s ease,background .2s ease;cursor:pointer}.pie-legend__item.active{border-color:#cbd5f5;background:#2563eb14}.legend-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;opacity:.7}.legend-text p{margin:0;font-weight:600;color:#0f172a}.legend-text small{color:#475569}.legend-rate{color:#1d4ed8;font-weight:600}.legend-value{margin-left:auto;font-weight:600;color:#0f172a}@media(max-width:932px){.revenue-visual{flex-direction:column;align-items:center}.pie-legend{width:100%}}.revenue-bars{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.revenue-bars--fullwidth{width:100%}.revenue-kpis{display:flex;flex-wrap:wrap;gap:.6rem;align-items:stretch}.revenue-kpis>.revenue-kpi-card{flex:1 1 180px;min-width:0}@media(max-width:768px){.revenue-kpis>.revenue-kpi-card{flex:1 1 calc(50% - .3rem)}}@media(max-width:768px){.revenue-kpi-card{padding:.6rem .7rem;gap:.1rem}.revenue-kpi-card small{font-size:.72rem}.revenue-kpi-card strong{font-size:.95rem}.revenue-kpi-card__delta{margin-top:.15rem;font-size:.7rem}.revenue-kpi-card__delta small{font-size:.65rem}.revenue-kpi-card__hint{font-size:.65rem;margin-top:.15rem}.revenue-kpi-card__split{margin-top:.3rem;padding-top:.3rem;font-size:.7rem}}.revenue-kpi-card{border:1px solid #dbe5f0;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:.95rem;padding:.85rem .95rem;display:flex;flex-direction:column;gap:.2rem}.revenue-kpi-card small{color:#64748b;font-size:.8rem}.revenue-kpi-card strong{color:#0f172a;font-size:1.12rem;line-height:1.1}.revenue-kpi-card__delta{display:inline-flex;align-items:baseline;gap:.3rem;margin-top:.25rem;font-size:.78rem;font-weight:600;line-height:1}.revenue-kpi-card__delta small{color:#94a3b8;font-size:.7rem;font-weight:500}.revenue-kpi-card__delta-arrow{font-size:.7rem}.revenue-kpi-card__delta--up{color:#15803d}.revenue-kpi-card__delta--down{color:#b91c1c}.revenue-kpi-card__delta--flat{color:#64748b}.revenue-kpi-card__hint{margin-top:.2rem;color:#64748b;font-size:.72rem;font-weight:500}.revenue-kpi-card__split{display:flex;flex-direction:column;gap:.15rem;margin-top:.4rem;padding-top:.4rem;border-top:1px dashed #e2e8f0;font-size:.78rem;color:#475569}.revenue-kpi-card__split>span{display:flex;align-items:center;gap:.4rem}.revenue-kpi-card__split strong{margin-left:auto;color:#0f172a;font-size:.78rem;font-weight:700}.revenue-kpi-card__split-dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}.operator-kpis{border:1px solid #e2e8f0;border-radius:.75rem;background:#fff;padding:1rem}.operator-kpis__head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.85rem}.operator-kpis__head h3{margin:0;color:#0f172a;font-size:1rem}.operator-kpis__head small{color:#64748b;font-size:.78rem}.operator-kpis__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem}.operator-kpi-card{border:1px solid #dbe5f0;border-top:3px solid var(--operator-color);border-radius:.6rem;background:linear-gradient(180deg,#fff,#f8fbff);padding:.85rem;min-width:0}.operator-kpi-card__head{display:flex;align-items:center;gap:.65rem;min-width:0}.operator-kpi-card__head strong,.operator-kpi-card__head small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.operator-kpi-card__head strong{color:#0f172a;font-size:.92rem}.operator-kpi-card__head small{color:#64748b;font-size:.72rem}.operator-kpi-card__avatar{width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;background:var(--operator-color);color:#fff;font-weight:700;font-size:.78rem}.operator-kpi-card__main{margin-top:.8rem}.operator-kpi-card__main>small{display:block;color:#64748b;font-size:.76rem}.operator-kpi-card__main>strong{display:block;color:#0f172a;font-size:1.15rem;line-height:1.15}.operator-kpi-card__metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .8rem;margin:.85rem 0 0;padding-top:.75rem;border-top:1px dashed #e2e8f0}.operator-kpi-card__metrics div{min-width:0}.operator-kpi-card__metrics dt{color:#64748b;font-size:.7rem}.operator-kpi-card__metrics dd{margin:.1rem 0 0;color:#0f172a;font-size:.86rem;font-weight:700;overflow-wrap:anywhere}.revenue-charts{display:flex;flex-direction:column;gap:1rem}.revenue-charts>.revenue-visual{flex:1 1 360px;min-width:0}.revenue-charts>.revenue-bars{flex:1 1 480px;min-width:0}@media(min-width:1100px){.revenue-charts{flex-direction:row;align-items:stretch}.revenue-charts>.revenue-visual{flex:0 1 420px}.revenue-charts>.revenue-bars{flex:1 1 0}}.revenue-charts--single{flex-direction:column}.revenue-charts--single>.revenue-visual{flex:1 1 auto}.revenue-charts--single>.revenue-trend{flex:1 1 auto}@media(min-width:1100px){.revenue-charts--single{flex-direction:row;align-items:stretch}.revenue-charts--single>.revenue-visual{flex:0 1 420px}.revenue-charts--single>.revenue-trend{flex:1 1 0;min-width:0}}.revenue-trend{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.revenue-trend__head h3{margin:0;font-size:1rem}.revenue-trend__head small{color:#475569}.revenue-trend__head small strong{color:#0f172a}.revenue-trend__chart{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.6rem;align-items:stretch;padding-top:1.5rem}.revenue-trend__column{display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer;transition:transform .15s ease}.revenue-trend__column:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:.5rem}.revenue-trend__column:hover .revenue-trend__bar{filter:brightness(1.05)}.revenue-trend__bar-area{width:100%;height:180px;display:flex;align-items:flex-end;position:relative}.revenue-trend__bar{width:100%;background:linear-gradient(180deg,#2563eb8c,#2563ebd9);border-radius:.6rem;min-height:2px;transition:filter .15s ease}.revenue-trend__column.current .revenue-trend__bar{background:linear-gradient(180deg,#2563eb,#1d4ed8);box-shadow:0 0 0 2px #2563eb2e}.revenue-trend__avg-line{position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(15,23,42,.35);pointer-events:none;z-index:1}.revenue-trend__avg-label{position:absolute;right:0;top:-1.05rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:600;white-space:nowrap}@media(max-width:768px){.revenue-trend,.revenue-bars{display:none}}.revenue-trend__label{text-align:center;font-weight:600;color:#0f172a;line-height:1.1;font-size:.78rem}.revenue-trend__label strong{display:block;margin-top:.2rem;color:#0f172a;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.revenue-trend__column.current .revenue-trend__label{color:#1d4ed8}@media(max-width:768px){.revenue-trend{padding:1rem}.revenue-trend__chart{gap:.25rem;padding-top:2.2rem}.revenue-trend__bar-area{height:180px}.revenue-trend__label{font-size:.72rem}.revenue-trend__label strong{display:none}}.timesheet-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.timesheet-kpi-card{border:1px solid #dbe5f0;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:.95rem;padding:.85rem .95rem;display:flex;flex-direction:column;gap:.2rem}.timesheet-kpi-card small{color:#64748b;font-size:.8rem}.timesheet-kpi-card strong{color:#0f172a;font-size:1.15rem;line-height:1.1}.timesheet-kpi-card__hint{margin-top:.2rem;color:#64748b;font-size:.72rem;font-weight:500}@media(max-width:768px){.timesheet-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.timesheet-kpi-card{padding:.5rem .55rem;text-align:center}.timesheet-kpi-card small{font-size:.68rem}.timesheet-kpi-card strong{font-size:.95rem}.timesheet-kpi-card__hint{font-size:.62rem}}.revenue-bars--fullwidth .revenue-bars__chart{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.revenue-pie-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}.revenue-pie-legend li{display:flex;align-items:center;gap:.55rem}.revenue-pie-swatch{width:14px;height:14px;border-radius:3px;flex-shrink:0}.revenue-pie-name{flex:1;font-weight:600;color:var(--brand-dark)}.revenue-pie-value{font-variant-numeric:tabular-nums;color:var(--brand-muted)}.costs-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--brand-border);border-radius:.5rem;background:#fff}.costs-table{width:100%;border-collapse:collapse;border:0;background:#fff;font-size:.86rem}@media(max-width:720px){.costs-table-wrapper{overflow:visible;border:none;background:transparent;border-radius:0}.costs-table{display:block;font-size:.9rem}.costs-table thead{display:none}.costs-table tbody,.costs-table tfoot{display:block}.costs-table tbody tr,.costs-table tfoot tr{display:block;background:#fff;border:1px solid var(--brand-border);border-radius:.55rem;margin-bottom:.55rem;padding:.65rem .85rem}.costs-table tfoot tr{border:1.5px solid var(--brand-primary);background:var(--brand-surface)}.costs-table tbody tr:nth-child(2n){background:#fff}.costs-table tbody tr:hover{background:#fff}.costs-table tbody td,.costs-table tfoot td{display:flex;justify-content:space-between;align-items:center;border:none;padding:.22rem 0;text-align:right}.costs-table tbody td:first-child,.costs-table tfoot td:first-child{font-weight:700;color:var(--brand-primary-strong);border-bottom:1px solid var(--brand-border);padding-bottom:.45rem;margin-bottom:.4rem;font-size:1rem;justify-content:flex-start}.costs-table tbody td:first-child>span,.costs-table tfoot td:first-child>span{margin-left:0}.costs-table tbody td:not(:first-child):before,.costs-table tfoot td:not(:first-child):before{content:attr(data-label);color:var(--brand-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:500;margin-right:.6rem}.costs-table tbody td.num,.costs-table tfoot td.num{font-variant-numeric:tabular-nums}}.costs-table th,.costs-table td{padding:.35rem .55rem;border-bottom:1px solid var(--brand-border);text-align:left}.costs-table thead th{background:var(--brand-surface);color:var(--brand-primary-strong);font-weight:700;text-transform:uppercase;font-size:.74rem;letter-spacing:.04em}.costs-table .num{text-align:right;font-variant-numeric:tabular-nums}.costs-table tbody tr:nth-child(2n){background:#fafbfd}.costs-table tbody tr:hover{background:var(--brand-surface)}.costs-table tfoot td{border-top:2px solid var(--brand-primary);background:var(--brand-surface);font-weight:700;color:var(--brand-primary-strong)}.costs-table .user-chip__avatar{display:inline-flex;vertical-align:middle}.empty-state,.loading-state{text-align:center;color:var(--brand-muted);font-style:italic;padding:2rem 0}.costs-charts{display:grid;grid-template-columns:minmax(0,3fr) minmax(360px,1fr);gap:1rem;align-items:stretch}.costs-charts>.revenue-pie{margin:0;background:#fff;border:1px solid var(--brand-border);border-radius:.6rem;padding:.75rem .9rem;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:.75rem;height:100%}.costs-charts>.revenue-pie>svg{width:220px;height:220px;align-self:center;flex:0 0 auto}.costs-charts>.revenue-pie>.revenue-pie-legend{flex:0 1 auto;min-width:0;flex-direction:column;gap:.3rem}.costs-charts>.revenue-pie .revenue-pie-name{flex:1 1 auto;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.costs-charts>.revenue-pie .revenue-pie-value{flex:0 0 auto;text-align:right;white-space:nowrap;font-size:.85rem}.costs-charts>.costs-bars{margin:0}.costs-charts--pie-only{grid-template-columns:minmax(0,1fr)}.costs-charts--pie-only>.revenue-pie{flex-direction:row;align-items:center;gap:1.2rem;width:fit-content;max-width:100%;margin:0 auto;padding:1rem 1.2rem}.costs-charts--pie-only>.revenue-pie>svg{width:200px;height:200px;align-self:center}.costs-charts--pie-only>.revenue-pie>.revenue-pie-legend{min-width:240px}@media(max-width:980px){.costs-charts{grid-template-columns:1fr}.costs-charts--pie-only>.revenue-pie{flex-direction:column}}.costs-charts:has(>:only-child){grid-template-columns:1fr}@media(max-width:880px){.costs-charts{grid-template-columns:1fr}}@media(max-width:768px){.costs-charts>.costs-bars{display:none}}.costs-bars{display:flex;flex-direction:column;gap:.4rem;padding:.7rem .85rem;background:#fff;border:1px solid var(--brand-border);border-radius:.6rem}.costs-bars__legend{flex-direction:row;flex-wrap:wrap;gap:.4rem 1rem;font-size:.78rem;margin:0;padding:0}.costs-bars__legend li{flex:0 0 auto}.services-page{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0;max-width:100%;gap:.85rem;box-sizing:border-box;overflow-x:hidden}.services-page *{box-sizing:border-box}.services-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}@media(max-width:640px){.services-header{flex-direction:column;align-items:stretch;gap:.6rem}.services-tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}}.services-header h2{margin:0;font-size:1.4rem;color:#0f172a;line-height:1.1}.services-tabs{display:flex;gap:.3rem;padding:.35rem;border-radius:.85rem;background:#f1f5f9;border:1px solid #e2e8f0}.services-tab{border:1px solid transparent;background:transparent;font:inherit;font-size:.85rem;font-weight:600;color:#475569;padding:.4rem .95rem;border-radius:.6rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.services-tab:hover{color:#0f172a;background:#fff9}.services-tab.active{background:#fff;border-color:#2563eb59;color:#1d4ed8;box-shadow:0 4px 10px #0f172a0f}.services-365-summary{display:flex;flex-wrap:nowrap;gap:.6rem}.services-365-summary__card{flex:1 1 0;min-width:0;border:1px solid #dbe5f0;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:.95rem;padding:.75rem .95rem;display:flex;flex-direction:column;gap:.2rem}.services-365-summary__card small{color:#64748b;font-size:.78rem}.services-365-summary__card strong{color:#0f172a;font-size:1.1rem;line-height:1.1}@media(max-width:932px){.services-365-summary{flex-wrap:wrap}.services-365-summary__card{flex:1 1 calc(50% - .3rem)}}.services-select{appearance:none;-webkit-appearance:none;height:36px;border:1px solid #e2e8f0;border-radius:.65rem;padding:0 2.2rem 0 .85rem;font:inherit;font-size:.88rem;font-weight:500;color:#0f172a;background:#fff url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e") no-repeat right .7rem center / 14px 14px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.services-select:focus{outline:none;border-color:#2563eb73;box-shadow:0 0 0 2px #2563eb1f}.services-year-input{height:36px;width:96px;border:1px solid #e2e8f0;border-radius:.65rem;padding:0 .85rem;font:inherit;font-size:.88rem;font-weight:500;color:#0f172a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.services-year-input:focus{outline:none;border-color:#2563eb73;box-shadow:0 0 0 2px #2563eb1f}.services-365-card{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;padding:1.25rem 1.5rem;display:flex;flex-direction:column;gap:1rem;min-width:0;overflow:visible}@media(max-width:768px){.services-365-card{padding:1rem}.services-365-card__head{flex-direction:column;align-items:stretch;gap:.6rem}.services-365-card__filters{width:100%;justify-content:flex-start}}.services-365-card__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.services-365-card__title{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.services-365-card__title h3{margin:0;font-size:1.1rem;color:#0f172a}.services-365-card__chip{background:#2563eb1a;color:#1d4ed8;border-radius:999px;padding:.15rem .7rem;font-size:.75rem;font-weight:600}.services-365-card__filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.services-365-card__period{display:inline-flex;align-items:stretch;border:1px solid #e2e8f0;border-radius:.65rem;background:#fff;overflow:hidden}.services-365-card__period .services-select{border:none;border-radius:0;background-color:transparent}.services-365-card__period .services-select:focus{box-shadow:none;background-color:#2563eb0d}.services-365-card__period .services-year-input{border:none;border-radius:0;border-left:1px solid #e2e8f0;width:80px;background:transparent}.services-365-card__period .services-year-input:focus{box-shadow:none;background:#2563eb0d}.services-365-chart{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.4rem;align-items:stretch;padding-top:1.4rem}.services-365-column{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;position:relative;cursor:pointer}.services-365-bar-area{width:100%;height:160px;display:flex;align-items:flex-end;position:relative}.services-365-bar{width:100%;background:linear-gradient(180deg,#2563eb8c,#2563ebd9);border-radius:.5rem;min-height:2px;transition:filter .15s ease}.services-365-column.active .services-365-bar{filter:brightness(.95);box-shadow:0 0 0 2px #2563eb2e}.services-365-avg-line{position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(15,23,42,.35);pointer-events:none;z-index:1}.services-365-avg-label{position:absolute;right:0;top:-1.05rem;background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;border-radius:999px;padding:.1rem .55rem;font-size:.7rem;font-weight:600;white-space:nowrap}.services-365-label{text-align:center;font-size:.78rem;color:#475569;line-height:1.15;min-width:0}.services-365-label strong{display:block;margin-top:.1rem;color:#0f172a;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.services-365-chart{gap:.2rem;padding-top:1.6rem}.services-365-label{font-size:.7rem}.services-365-label strong{display:none}}.services-365-tooltip{position:absolute;left:50%;transform:translate(-50%);min-width:280px;max-width:min(380px,90vw);width:max-content;background:#0f172a;color:#f8fafc;border-radius:.65rem;padding:.6rem .75rem;box-shadow:0 10px 30px #0f172a59;z-index:10;pointer-events:none}.services-365-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #0f172a}.services-365-tooltip--start{left:0;transform:none}.services-365-tooltip--start:after{left:24px;transform:none}.services-365-tooltip--end{left:auto;right:0;transform:none}.services-365-tooltip--end:after{left:auto;right:24px;transform:none}.services-365-tooltip__head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding-bottom:.4rem;border-bottom:1px solid rgba(248,250,252,.15);font-size:.85rem;text-transform:capitalize}.services-365-tooltip__head strong{font-weight:600}.services-365-tooltip__head span{font-weight:700}.services-365-tooltip ul{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.25rem}.services-365-tooltip li{display:grid;grid-template-columns:1fr auto auto;gap:.5rem;align-items:center;font-size:.78rem}.services-365-tooltip__label{color:#cbd5f5;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.services-365-tooltip__amount{color:#f8fafc;font-weight:600}.services-365-tooltip__percent{color:#94a3b8;font-size:.7rem;min-width:2.4rem;text-align:right}.services-row-menu{position:relative;display:inline-flex}.services-row-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;background:transparent;border-radius:.5rem;cursor:pointer;color:#475569;font-size:1.2rem;line-height:1;font-weight:700;transition:background .15s ease,border-color .15s ease,color .15s ease}.services-row-menu__trigger:hover{background:#eff6ff;border-color:#2563eb4d;color:#1d4ed8}.services-row-menu__panel{position:absolute;right:0;min-width:160px;max-width:calc(100vw - 1rem);background:#fff;border:1px solid #e2e8f0;border-radius:.7rem;box-shadow:0 14px 32px #0f172a2e;padding:.3rem;display:flex;flex-direction:column;z-index:30}.services-row-menu__panel--down{top:calc(100% + 4px)}.services-row-menu__panel--up{bottom:calc(100% + 4px)}.services-row-menu__panel button{border:none;background:transparent;text-align:left;font:inherit;font-size:.88rem;padding:.45rem .65rem;border-radius:.45rem;color:#0f172a;cursor:pointer}.services-row-menu__panel button:hover{background:#f1f5f9}.services-row-menu__danger{color:#b91c1c!important}.services-row-menu__danger:hover{background:#dc262614!important}.services-modal{max-width:640px}.services-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.1rem;border-bottom:1px solid #e2e8f0}.services-modal__header h3{margin:0;font-size:1.1rem;color:#0f172a}.services-modal__footer{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0;margin-top:.5rem}.services-table{width:100%;border-collapse:separate;border-spacing:0}.services-table thead th{position:sticky;top:0;z-index:1;background:#f8fafc;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;color:#64748b;font-weight:700;padding:.55rem .75rem;border-bottom:1px solid #e2e8f0;text-align:left}.services-table tbody td{padding:.6rem .75rem;border-bottom:1px solid #f1f5f9;font-size:.88rem;color:#0f172a;vertical-align:middle}.services-table tbody tr:last-child td{border-bottom:none}.services-table tbody tr{transition:background .1s ease}.services-table tbody tr:hover{background:#2563eb0a}.services-table .services-cell-primary{display:flex;flex-direction:column;gap:.1rem;min-width:0}.services-table .services-cell-primary strong{color:#0f172a;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.services-table .services-cell-primary small{color:#64748b;font-size:.72rem;letter-spacing:.02em;font-family:SFMono-Regular,Consolas,monospace}.services-table .services-cell-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.services-table .services-cell-date{color:#475569;font-variant-numeric:tabular-nums;white-space:nowrap}.services-table .services-cell-muted{color:#94a3b8}.services-table .services-cell-actions{width:56px;text-align:right}.services-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.1rem .55rem;font-size:.72rem;font-weight:600;background:#0f172a0f;color:#475569;white-space:nowrap}.services-badge--success{background:#10a34a1f;color:#15803d}.services-badge--info{background:#2563eb1f;color:#1d4ed8}.services-badge--danger{background:#dc26261f;color:#b91c1c}.services-delta{font-weight:700;color:#475569}.services-delta--up{color:#15803d}.services-delta--down{color:#b91c1c}.services-icon-delete{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;background:transparent;border-radius:.5rem;cursor:pointer;color:#b91c1c;font-size:.95rem;line-height:1;transition:background .15s ease,border-color .15s ease}.services-icon-delete:hover:not(:disabled){background:#dc262614;border-color:#dc26264d}.services-icon-delete:disabled{opacity:.5;cursor:not-allowed}.services-empty{padding:1.75rem 1rem;text-align:center;color:#64748b;font-size:.92rem;background:#f8fafc;border-top:1px solid #f1f5f9}.services-365-summary__card--clickable{font:inherit;text-align:left;cursor:pointer;transition:border-color .15s ease,transform .1s ease,box-shadow .15s ease}.services-365-summary__card--clickable:hover:not(:disabled){border-color:#2563eb66;transform:translateY(-1px);box-shadow:0 6px 16px #0f172a14}.services-365-summary__card--clickable:disabled{opacity:.55;cursor:not-allowed}.services-365-summary__card--clickable:focus-visible{outline:2px solid rgba(37,99,235,.4);outline-offset:3px}.services-clients-list__search{width:100%;border:1px solid #e2e8f0;border-radius:.65rem;padding:.5rem .75rem;font:inherit;font-size:.9rem;background:#fff;margin-bottom:.6rem;transition:border-color .15s ease,box-shadow .15s ease}.services-clients-list__search:focus{outline:none;border-color:#2563eb73;box-shadow:0 0 0 2px #2563eb1f}.services-clients-list{display:flex;flex-direction:column;gap:.15rem;max-height:50vh;overflow-y:auto}.services-clients-list__item{display:flex;justify-content:space-between;align-items:center;gap:.5rem;border:1px solid transparent;background:transparent;font:inherit;font-size:.9rem;color:#0f172a;padding:.5rem .75rem;border-radius:.55rem;cursor:pointer;text-align:left;transition:background .1s ease,border-color .1s ease}.services-clients-list__item:hover{background:#2563eb14;border-color:#2563eb40;color:#1d4ed8}.services-clients-list__item.active{background:#2563eb1f;border-color:#2563eb66;color:#1d4ed8;font-weight:600}.services-clients-list__current{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#1d4ed8;background:#2563eb2e;padding:.1rem .45rem;border-radius:999px}.services-clients-list__empty{text-align:center;color:#94a3b8;padding:1rem;font-size:.9rem}.services-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;align-items:start;min-width:0}.services-layout--stacked{grid-template-columns:minmax(0,1fr)}.services-top-grid{display:grid;grid-template-columns:1fr;gap:1rem}.services-filters{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.services-form__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.services-form__grid label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.04em}.services-form__grid input:not([type=color]),.services-form__grid select,.services-form__grid textarea{width:100%;border:1px solid #e2e8f0;border-radius:.65rem;padding:.5rem .75rem;font:inherit;font-size:.9rem;font-weight:500;text-transform:none;letter-spacing:normal;color:#0f172a;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.services-form__grid input:not([type=color]):focus,.services-form__grid select:focus,.services-form__grid textarea:focus{outline:none;border-color:#2563eb73;box-shadow:0 0 0 2px #2563eb1f}.services-form__grid input:disabled,.services-form__grid select:disabled{background:#f1f5f9;color:#64748b;cursor:not-allowed}.services-form__grid select{appearance:none;-webkit-appearance:none;padding-right:2.2rem;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .7rem center;background-size:14px;cursor:pointer}.services-form__grid .price-input{display:flex;gap:.5rem}.services-form__grid .price-input input{flex:1}.services-form__grid .price-input .currency-input{flex:0 0 70px;text-align:center;text-transform:uppercase}.services-form__grid .full-width{grid-column:1 / -1}.services-form__actions{grid-column:1 / -1;display:flex;justify-content:flex-end}.services-button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:.9rem;border:1px solid #cbd5f5;background:#fff;color:#0f172a;padding:.55rem 1.1rem;font-size:.95rem;font-weight:600;line-height:1.2;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease,background .2s ease,border-color .2s ease}.services-button:hover:not(:disabled),.services-button:focus-visible:not(:disabled){box-shadow:0 10px 26px #2364ae2e;transform:translateY(-1px);border-color:var(--brand-primary)}.services-button:disabled{opacity:.65;cursor:not-allowed}.services-button--primary{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-strong) 100%);color:#fff;border:none}.services-button--ghost{background:#fff;color:#0f172a}.services-button--danger{background:#dc2626;border-color:#dc2626;color:#fff}.price-input{display:grid;grid-template-columns:1fr 80px;gap:.5rem;align-items:center}.muted{color:var(--brand-muted);margin:.25rem 0 0;font-size:.85rem}.currency-input{text-transform:uppercase;text-align:center;letter-spacing:.05em}.justification-alert{background:linear-gradient(120deg,#2364ae14,#10b98114);border:1px solid rgba(35,100,174,.18);border-radius:1rem;padding:1.25rem;margin-bottom:1.5rem}.justification-alert__head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem}.justification-alert__counter span{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem .75rem;border-radius:999px;background:#2364ae1f;color:#0f172a;font-weight:700;font-size:.9rem}.justification-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.justification-card{background:#fff;border:1px solid #e2e8f0;border-radius:.9rem;padding:1rem;box-shadow:0 10px 30px #0f172a14}.justification-meta{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem}.justification-chip{background:#eff6ff;color:#1d4ed8;border-radius:.75rem;padding:.5rem .85rem;display:inline-flex;flex-direction:column;align-items:flex-end;gap:.15rem;min-width:90px}.justification-chip strong{font-size:1rem}.justification-card textarea{width:100%;resize:vertical;min-height:80px;border-radius:.75rem;border:1px solid #cbd5f5;padding:.65rem .8rem;font-size:.95rem;outline:none}.justification-card textarea:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px #2364ae2e}.justification-actions{display:flex;justify-content:flex-end;margin-top:.75rem}.justification-actions button{background:var(--brand-primary);color:#fff;border:none;padding:.65rem 1rem;border-radius:.75rem;cursor:pointer;font-weight:700;box-shadow:0 8px 20px #2364ae33}.justification-actions button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.justifications-panel{border:1px solid #e2e8f0;border-radius:1rem;padding:1rem 1.25rem;margin-bottom:1.5rem;background:#fff}.justifications-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.75rem}button.justifications-head--toggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:transparent;background-image:none;color:inherit;border:none;border-radius:0;padding:0;margin:0 0 .75rem;cursor:pointer;text-align:left;font:inherit;font-weight:inherit;letter-spacing:0;box-shadow:none}button.justifications-head--toggle:hover,button.justifications-head--toggle:hover:not(:disabled){transform:none;box-shadow:none}.justifications-panel:not(.open) .justifications-head--toggle{margin-bottom:0}.justifications-head__title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.justifications-head__title .eyebrow{margin:0}.justifications-head__title h3{margin:0;display:inline-flex;align-items:center;gap:.55rem;flex-wrap:wrap}.justifications-head__title small{color:#64748b;font-size:.85rem;line-height:1.3}.justifications-count{background:#dc2626;color:#fff;font-size:.7rem;font-weight:700;line-height:1;padding:3px 8px;border-radius:999px;min-width:22px;display:inline-flex;align-items:center;justify-content:center}.justifications-panel .collapsible-chevron{flex-shrink:0;align-self:center;font-size:1.1rem;color:#64748b}.justifications-actions label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;color:#475569}.justifications-actions select{border:1px solid #cbd5f5;border-radius:.75rem;padding:.55rem .8rem;background:#f8fafc}.justifications-table table{width:100%;border-collapse:collapse}.justifications-table th,.justifications-table td{text-align:left;padding:.75rem .5rem;border-bottom:1px solid #e2e8f0}.justifications-table th:last-child,.justifications-table td:last-child{text-align:right}.justification-coverage{display:flex;flex-direction:column;gap:.15rem}.justification-status{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border-radius:999px;font-weight:700;font-size:.9rem}.status-pending{background:#fff7ed;color:#c2410c}.status-submitted{background:#eff6ff;color:#1d4ed8}.status-reviewed{background:#ecfdf3;color:#15803d}.justification-actions-cell button{background:#0f172a;color:#fff;border:none;padding:.5rem .9rem;border-radius:.65rem;cursor:pointer}.justification-actions-cell button:disabled{opacity:.6;cursor:not-allowed}.justification-actions-cell .actions-stack{display:flex;gap:.4rem;justify-content:flex-end}.justification-actions-cell .danger{background:#dc2626}.justification-actions-cell .danger:hover{background:#b91c1c}@media(max-width:900px){.justifications-table table,.justifications-table thead,.justifications-table tbody,.justifications-table th,.justifications-table td,.justifications-table tr{display:block}.justifications-table thead{display:none}.justifications-table tbody tr{border:1px solid #e2e8f0;border-radius:1rem;padding:.75rem .9rem;margin-bottom:.85rem;box-shadow:0 10px 24px #0f172a14;background:#fff}.justifications-table td{border:0;display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.35rem 0;text-align:left}.justifications-table td:before{content:attr(data-label);font-weight:700;color:#475569;flex:0 0 auto}.justification-actions-cell .actions-stack{width:100%;justify-content:flex-start;flex-wrap:wrap}}@media(max-width:1024px){.services-layout,.services-top-grid{grid-template-columns:1fr}}.revenue-bars__head h3{margin:0}.revenue-bars__head small{color:#475569}.revenue-bars__year-total{margin-top:.2rem;font-weight:700;color:#0f172a}.revenue-bars__chart{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:.75rem;align-items:stretch;position:relative;padding-top:1.5rem}.revenue-bars__column{display:flex;flex-direction:column;align-items:center;gap:.35rem;position:relative;transition:transform .15s ease;cursor:pointer}.revenue-bars__column:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:.5rem}.revenue-bars__column.active .revenue-bars__stack{box-shadow:0 0 0 2px #2563eb59;transform:translateY(-2px)}.revenue-bars__bar-area{width:100%;height:220px;display:flex;align-items:flex-end;position:relative}.revenue-bars__stack{width:100%;background:linear-gradient(180deg,#e2e8f0cc,#f1f5f9b3);border:1px solid #e2e8f0;border-radius:.9rem;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;min-height:12px;transition:box-shadow .15s ease}.revenue-bars__avg-line{position:absolute;left:0;right:0;height:0;border-top:1px dashed rgba(37,99,235,.6);pointer-events:none;z-index:2}.revenue-bars__avg-label{position:absolute;right:0;top:-1.05rem;background:#2563eb1a;color:#1d4ed8;border:1px solid rgba(37,99,235,.25);border-radius:999px;padding:.1rem .55rem;font-size:.72rem;font-weight:600;white-space:nowrap}.chart-tooltip{position:absolute;bottom:calc(100% + .5rem);left:50%;transform:translate(-50%);min-width:260px;max-width:min(360px,90vw);width:max-content;background:#0f172a;color:#f8fafc;border-radius:.65rem;padding:.6rem .75rem;box-shadow:0 10px 30px #0f172a59;z-index:10;pointer-events:none}.chart-tooltip:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #0f172a}.chart-tooltip-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding-bottom:.4rem;margin-bottom:.4rem;border-bottom:1px solid rgba(248,250,252,.15);font-size:.85rem}.chart-tooltip-head strong{color:#f8fafc;font-weight:600}.chart-tooltip-head span{color:#f1f5f9;font-weight:700}.chart-tooltip ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.chart-tooltip li{display:grid;grid-template-columns:8px 1fr auto auto;gap:.5rem;align-items:center;font-size:.78rem;line-height:1.2}.chart-tooltip-dot{width:8px;height:8px;border-radius:999px}.chart-tooltip-label{color:#cbd5f5;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.chart-tooltip-amount{color:#f8fafc;font-weight:600}.chart-tooltip-percent{color:#94a3b8;font-size:.7rem;min-width:2.4rem;text-align:right}.revenue-bars__empty{width:100%;height:10px;background:#e2e8f0;opacity:.8}.revenue-bars__segment{width:100%;transition:opacity .2s ease}.revenue-bars__segment:hover{opacity:.85}.revenue-bars__label{text-align:center;font-weight:600;color:#0f172a;line-height:1.1}.revenue-bars__total{display:block;margin-top:.2rem;color:#0f172a;font-size:.9rem;font-weight:700}.revenue-bars__label small{display:block;color:#94a3b8;font-weight:500}@media(max-width:768px){.revenue-bars__label small{display:none}.revenue-bars__label{font-size:.72rem;width:100%;min-width:0;overflow:hidden;padding:0 2px;gap:.1rem}.revenue-bars__label>span,.revenue-bars__label>strong{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.revenue-bars__total{font-size:.72rem;font-weight:700}}.revenue-bars__legend{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.6rem}.revenue-bars__legend-item{display:flex;align-items:center;gap:.5rem;padding:.55rem .75rem;border:1px solid #e2e8f0;border-radius:.9rem;background:#f8fafc}.revenue-bars__legend-color{width:12px;height:12px;border-radius:999px;flex-shrink:0}.revenue-bars__legend p{margin:0;font-weight:600;color:#0f172a}.revenue-bars__legend small{display:block;color:#475569}.quick-range{display:flex;gap:.5rem;flex-wrap:wrap;flex:1 1 0}.quick-range button{border:1px solid #cbd5f5;border-radius:999px;background:#fff;color:#1f2937;padding:.4rem .9rem;font-size:.85rem}.quick-range button.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.client-details{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.client-details__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.client-details__head--clickable{cursor:pointer;-webkit-user-select:none;user-select:none}.client-details__head--clickable:hover{background:#0f172a05}.collapsible-chevron{display:inline-flex;align-items:center;justify-content:center;font-size:.85rem;color:#94a3b8;transition:transform .15s ease,color .15s ease}.collapsible-chevron.open{transform:rotate(180deg);color:#1d4ed8}.services-licenses-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:.6rem;flex-wrap:wrap}.services-licenses-toolbar>:first-child{flex:0 1 260px;min-width:0}.services-licenses-toolbar>.services-button{flex:0 0 auto;padding:.5rem 1rem;font-size:.88rem}@media(max-width:600px){.services-licenses-toolbar>:first-child{flex:1 1 100%}.services-licenses-toolbar>.services-button{flex:1 1 auto;text-align:center}}.services-billing-body{display:flex;flex-direction:column;gap:.6rem}.services-billing-form{display:flex;flex-wrap:wrap;align-items:end;gap:.7rem}.services-billing-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-weight:600;flex:1 1 160px;min-width:0}.services-billing-form .services-button{margin-top:0}.client-details__head input{border:1px solid #cbd5f5;border-radius:999px;padding:.55rem 1rem;font-size:.95rem;width:240px}.client-details__actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.chip-toggle{border:1px solid #cbd5f5;background:#f8fafc;color:#0f172a;padding:.55rem .9rem;border-radius:999px;font-weight:700;box-shadow:none;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease}.chip-toggle:hover{background:#eef2ff;transform:translateY(-1px)}.chip-toggle.active{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-strong) 100%);color:#fff;border-color:var(--brand-primary);box-shadow:0 12px 30px #2364ae2e}.client-details__table-wrapper{overflow-x:auto;max-height:60vh;overflow-y:auto}.client-details__table-wrapper table{width:100%;border-collapse:collapse}.client-details__table-wrapper th,.client-details__table-wrapper td{padding:.75rem .5rem;text-align:left;border-bottom:1px solid #edf2f7}.client-details__table-wrapper th{font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;position:sticky;top:0;z-index:1;box-shadow:inset 0 -1px #e2e8f0}.table-sort{display:inline-flex;align-items:center;gap:.25rem;border:none;background:transparent;font:inherit;cursor:pointer;color:#0f172a;padding:0}.client-details__table-wrapper tr:last-child td{border-bottom:none}@media(max-width:900px){.client-details__table-wrapper table,.client-details__table-wrapper thead,.client-details__table-wrapper tbody,.client-details__table-wrapper th,.client-details__table-wrapper td,.client-details__table-wrapper tr{display:block}.client-details__table-wrapper thead{display:none}.client-details__table-wrapper tbody tr{border:1px solid #e2e8f0;border-radius:1rem;padding:.75rem .9rem;margin-bottom:.85rem;box-shadow:0 10px 24px #0f172a14;background:#fff}.client-details__table-wrapper td{border:0;display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.35rem 0}.client-details__table-wrapper td:before{content:attr(data-label);font-weight:700;color:#475569}.client-details__table-wrapper .revenue-client-table td[data-label=Cliente]{align-items:flex-start}.client-details__table-wrapper .revenue-client-table td[data-label=Cliente]:before{padding-top:.25rem}.client-details__table-wrapper .revenue-client-table .client-name{align-items:flex-start;gap:.6rem}.client-details__table-wrapper .revenue-client-table .client-name .name{line-height:1.2}}.search-input{border:1px solid #cbd5f5;border-radius:999px;padding:.65rem 1.2rem;font-size:.95rem;width:260px}.clients-list{border:1px solid #e2e8f0;border-radius:1.25rem;background:#fff;display:flex;flex-direction:column;flex:1;min-height:0}.bulk-actions{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1.25rem;border-bottom:1px solid #edf2f7;gap:1rem;flex-wrap:wrap}.bulk-actions .selection-info{font-weight:600;color:#1d4ed8}.bulk-actions .actions-group{display:flex;gap:.5rem;flex-wrap:wrap}.bulk-actions .actions-group button{padding:.4rem .95rem;border-radius:.6rem;font-size:.85rem;border:1px solid #cbd5f5;background:#fff;color:#1d4ed8;box-shadow:none}.bulk-actions .actions-group button:not(:disabled):hover{box-shadow:0 4px 12px #2563eb33}.bulk-actions .actions-group .danger-button{background:#dc2626;color:#fff;border-color:#dc2626}.clients-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-top:1px solid #edf2f7;color:#475569;font-size:.9rem}.clients-pagination__actions{display:flex;align-items:center;gap:.6rem}.clients-pagination__actions button{border:1px solid #cbd5f5;background:#fff;color:#1d4ed8;border-radius:.65rem;padding:.45rem .85rem;font:inherit;font-weight:700;cursor:pointer}.clients-pagination__actions button:disabled{cursor:not-allowed;color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}.clients-pagination__actions strong{color:#0f172a;font-size:.88rem;white-space:nowrap}.clients-list .table-wrapper{flex:1;overflow:auto}.clients-list table{width:100%;border-collapse:collapse}.clients-list th,.clients-list td{padding:.9rem 1.2rem;text-align:left;border-bottom:1px solid #edf2f7}.clients-list td:nth-child(3),.clients-list td:nth-child(4){text-align:right;font-variant-numeric:tabular-nums}.clients-list th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:#64748b;background:#f8fafc;position:sticky;top:0;z-index:1;box-shadow:inset 0 -1px #e2e8f0}.clients-list tr:last-child td{border-bottom:none}.clients-list tbody tr{cursor:pointer;transition:background .15s ease}.clients-list tbody tr:hover{background:#f1f5f9}.clients-list tbody tr.selected{background:#2563eb14}.selection-cell{width:48px}.selection-cell input{width:16px;height:16px}.client-name{display:flex;align-items:center;gap:.9rem}.client-name .name{margin:0;font-weight:600;color:#0f172a}.client-name__meta{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:.5rem;row-gap:.15rem;min-width:0}.client-name__meta .name{order:1}.client-name__badges{order:2;display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.client-name__badges .package-badge{margin-left:0}.client-name__id{order:3;flex:1 1 100%}.client-rate-dev{display:block;margin-top:.2rem;color:#64748b;font-size:.78rem}.package-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:500;color:#1d4ed8;background:#2563eb1f;border-radius:999px;padding:.1rem .5rem;margin-left:.5rem;text-transform:uppercase;letter-spacing:.04em}.package-badge--contract{color:#b45309;background:#d977061f}.package-badge--prints{color:#475569;background:#64748b1f;text-transform:none;letter-spacing:0;font-size:.85rem;padding:0 .45rem}.package-badge--deleted{color:#b91c1c;background:#b91c1c1f}tr.clients-row--deleted{cursor:default;background:#94a3b814}tr.clients-row--deleted .name,tr.clients-row--deleted small,tr.clients-row--deleted td:not([data-label=Azioni]){color:#94a3b8}tr.clients-row--deleted .name{text-decoration:line-through;text-decoration-color:#94a3b899}tr.clients-row--deleted:hover{background:#94a3b81f}.clients-highlight{background:#2563eb2e;color:#1d4ed8;border-radius:.25rem;padding:0 .15rem;font-weight:600}.clients-row-actions{text-align:right;width:56px}.clients-row-menu{position:relative;display:inline-flex}.clients-row-menu__trigger{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid transparent;background:transparent;border-radius:.5rem;cursor:pointer;color:#475569;font-size:1.2rem;line-height:1;font-weight:700;transition:background .15s ease,border-color .15s ease,color .15s ease}.clients-row-menu__trigger:hover{background:#eff6ff;border-color:#2563eb4d;color:#1d4ed8}.clients-row-menu__panel{position:absolute;right:0;top:calc(100% + 4px);min-width:160px;max-width:calc(100vw - 1rem);background:#fff;border:1px solid #e2e8f0;border-radius:.7rem;box-shadow:0 14px 32px #0f172a2e;padding:.3rem;display:flex;flex-direction:column;z-index:30}.clients-row-menu__panel button{border:none;background:transparent;text-align:left;font:inherit;font-size:.88rem;padding:.45rem .65rem;border-radius:.45rem;color:#0f172a;cursor:pointer}.clients-row-menu__panel button:hover{background:#f1f5f9}.clients-row-menu__danger{color:#b91c1c!important}.clients-row-menu__danger:hover{background:#dc262614!important}.clients-group-header td{background:#f8fafc;font-size:.78rem;letter-spacing:.03em;text-transform:uppercase;color:#475569;padding:.55rem 1.2rem;border-bottom:1px solid #e2e8f0;position:sticky;top:39px;z-index:1}.clients-group-header strong{color:#0f172a;font-weight:700;margin-right:.5rem}.clients-group-header__count{background:#0f172a0f;border-radius:999px;padding:.05rem .5rem;font-size:.72rem;color:#475569}.client-form--sectioned{display:flex;flex-direction:column;gap:1rem}.client-form__section{border:1px solid #e2e8f0;border-radius:.85rem;padding:.85rem 1rem;background:#fff;display:flex;flex-direction:column;gap:.6rem}.client-form__section-title{margin:0 0 .2rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;font-weight:700;display:flex;align-items:center;gap:.5rem}.client-form__section-count{background:#0f172a0f;color:#475569;border-radius:999px;padding:.05rem .55rem;font-size:.7rem;font-weight:600;letter-spacing:0}.client-form__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.client-form__field--span{grid-column:1 / -1}.client-form__section--licenses{margin-top:.5rem}.client-form--sectioned .form-actions{margin-top:.4rem}.client-form--sectioned .contract-history{margin-top:.5rem;padding-top:.5rem;border-top:1px dashed #e2e8f0}.client-form--sectioned .contract-history h5{margin:0 0 .4rem;font-size:.85rem;color:#0f172a}@media(max-width:600px){.client-form__grid{grid-template-columns:1fr}}.clients-modal__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.1rem;border-bottom:1px solid #e2e8f0}.clients-modal__header h3{margin:0;font-size:1.1rem;color:#0f172a}.clients-modal__header-actions{display:flex;align-items:center;gap:.4rem}.clients-modal__delete{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid rgba(220,38,38,.25);background:#fee2e299;color:#b91c1c;border-radius:.55rem;cursor:pointer;font-size:1rem;transition:background .15s ease,border-color .15s ease,color .15s ease}.clients-modal__delete:hover:not(:disabled){background:#fee2e2;border-color:#dc262680;color:#991b1b}.clients-modal__delete:disabled{opacity:.5;cursor:not-allowed}.clients-modal__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e2e8f0;background:#fff;color:#475569;border-radius:.55rem;cursor:pointer;font-size:1.4rem;line-height:1}.clients-modal__close:hover{background:#f1f5f9;color:#0f172a}.clients-modal__tabs{display:flex;gap:.3rem;padding:.35rem;margin:.5rem 0;border-radius:.85rem;background:#f1f5f9;border:1px solid #e2e8f0;flex-wrap:wrap}.clients-modal__tab{border:1px solid transparent;background:transparent;font:inherit;font-size:.85rem;font-weight:600;color:#475569;padding:.4rem .95rem;border-radius:.6rem;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease}.clients-modal__tab:hover{color:#0f172a;background:#fff9}.clients-modal__tab.active{background:#fff;border-color:#2563eb59;color:#1d4ed8;box-shadow:0 4px 10px #0f172a0f}.client-form__section--bare{border:none;padding:.5rem 0 0;background:transparent}.client-form__row{display:flex;gap:.7rem;flex-wrap:wrap}.client-form__row>.form-field{flex:1 1 0;min-width:0}.client-form__field--grow{flex:1 1 0;min-width:0}.client-form__field--km{flex:0 0 90px}.client-form__field--color{flex:0 0 64px}.client-form__field--color input[type=color]{width:100%;height:38px;border:1px solid #e2e8f0;border-radius:.5rem;background:transparent;padding:2px;cursor:pointer}.client-form__row--name{align-items:flex-end}.client-form__color-swatch{position:relative;width:38px;height:38px;border-radius:.55rem;border:2px solid #fff;box-shadow:0 0 0 1px #e2e8f0,0 4px 12px #0f172a1f;cursor:pointer;flex-shrink:0;display:inline-block;transition:transform .15s ease,box-shadow .15s ease}.client-form__color-swatch:hover{transform:scale(1.05);box-shadow:0 0 0 1px #2563eb73,0 6px 16px #0f172a2e}.client-form__color-swatch input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;background:transparent;padding:0}.client-form--sectioned{gap:.6rem}.client-form__section--bare{padding:.4rem 0 0;gap:.5rem}.client-form__row{gap:.6rem}.clients-modal{max-width:620px}.clients-modal .modal-body{padding:.5rem 1.1rem .85rem}.clients-modal__footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid #e2e8f0;margin-top:.5rem}.clients-modal__footer-actions{display:flex;gap:.5rem;margin-left:auto}.clients-modal__delete-link{background:transparent;border:none;color:#b91c1c;font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;padding:.4rem .5rem;border-radius:.45rem;transition:background .15s ease}.clients-modal__delete-link:hover:not(:disabled){background:#dc262614;color:#991b1b}.clients-modal__delete-link:disabled{opacity:.5;cursor:not-allowed}.licenses-section{display:flex;flex-direction:column;gap:.7rem}.licenses-summary{display:flex;gap:.5rem}.licenses-summary__item{flex:1 1 0;border:1px solid #e2e8f0;background:linear-gradient(180deg,#fff,#f8fbff);border-radius:.7rem;padding:.55rem .75rem;display:flex;flex-direction:column;gap:.1rem}.licenses-summary__item small{color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.licenses-summary__item strong{color:#0f172a;font-size:1rem;font-weight:700}.licenses-list{display:flex;flex-direction:column;gap:.45rem;max-height:360px;overflow-y:auto;padding-right:.2rem}.license-card{border:1px solid #e2e8f0;border-radius:.7rem;padding:.6rem .8rem;background:#fff}.license-card__head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.4rem}.license-card__name{margin:0;font-size:.92rem;font-weight:600;color:#0f172a}.license-card__qty{background:#2563eb1a;color:#1d4ed8;border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:700;white-space:nowrap}.license-card__meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;font-size:.78rem}.license-card__meta>div{display:flex;flex-direction:column;gap:.1rem;min-width:0}.license-card__meta small{color:#94a3b8;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.license-card__meta span{color:#0f172a;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.license-card__total{font-weight:700;color:#1d4ed8}.license-card__expiring{color:#b45309!important;font-weight:600;display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.license-card__badge{background:#d977061f;color:#b45309;border-radius:999px;padding:.05rem .45rem;font-size:.68rem;font-weight:600}.client-form__autocomplete{position:relative}.client-form__autocomplete-panel{position:absolute;left:0;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:.7rem;box-shadow:0 14px 32px #0f172a2e;padding:.3rem;z-index:30;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;gap:.1rem}.client-form__autocomplete-panel--down{top:calc(100% + 4px)}.client-form__autocomplete-panel--up{bottom:calc(100% + 4px)}.client-form__autocomplete-option{border:none;background:transparent;text-align:left;font:inherit;font-size:.88rem;padding:.45rem .7rem;border-radius:.45rem;color:#0f172a;cursor:pointer;transition:background .1s ease}.client-form__autocomplete-option:hover,.client-form__autocomplete-option.active{background:#2563eb1a;color:#1d4ed8}@media(max-width:600px){.license-card__meta{grid-template-columns:repeat(2,minmax(0,1fr))}.licenses-summary{flex-wrap:wrap}.licenses-summary__item{flex:1 1 calc(50% - .25rem)}}@media(max-width:420px){.license-card__meta{grid-template-columns:1fr}}@media(max-width:480px){.clients-modal__tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.clients-modal__tab{padding:.4rem .7rem;font-size:.8rem}.clients-modal__header{padding:.6rem .8rem;gap:.5rem}.clients-modal__header h3{font-size:1rem;flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.clients-modal__cancel{background:#fff;border:1px solid #e2e8f0;color:#475569;border-radius:.65rem;padding:.55rem 1.1rem;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.clients-modal__cancel:hover{background:#f1f5f9;border-color:#cbd5f5;color:#0f172a}.clients-modal__save{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-strong));color:#fff;border:none;border-radius:.65rem;padding:.55rem 1.4rem;font:inherit;font-weight:600;cursor:pointer;transition:filter .15s ease}.clients-modal__save:hover:not(:disabled){filter:brightness(1.05)}.clients-modal__save:disabled{opacity:.6;cursor:not-allowed}.client-name small{color:#94a3b8}.color-dot{width:36px;height:36px;border-radius:12px;border:2px solid #fff;box-shadow:0 4px 16px #0f172a33;flex-shrink:0}.color-dot--editable{position:relative;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.color-dot--editable:hover{transform:scale(1.06);box-shadow:0 6px 18px #0f172a47}.color-dot--editable input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:none;background:transparent;padding:0}.clients-page .badge{display:inline-flex;align-items:center;justify-content:center;background:var(--brand-primary);color:#fff;border-radius:999px;padding:.1rem .85rem;font-size:.9rem;margin-left:.5rem}.clients-page h2{margin-bottom:.2rem}.clients-page p{margin:0;color:#475569}@media(max-width:900px){.clients-list .table-wrapper{overflow:visible}.clients-pagination{align-items:stretch;flex-direction:column;padding:.85rem .95rem}.clients-pagination__actions{justify-content:space-between}.clients-pagination__actions button{flex:1}.clients-list table,.clients-list thead,.clients-list tbody,.clients-list th,.clients-list td,.clients-list tr{display:block}.clients-list thead{display:none}.clients-list tbody tr{padding:.9rem 1rem;margin-bottom:.85rem;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 8px 20px #0f172a14;background:#fff;display:flex;flex-wrap:wrap;gap:.7rem .75rem}.clients-list tbody tr:last-child{margin-bottom:0}.clients-list tbody tr.selected{background:linear-gradient(180deg,#2563eb14,#2563eb05);border-color:#2563eb73}.clients-list td{flex:1 1 100%;border:0;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;font-size:.95rem;color:#0f172a}.clients-list td:before{content:attr(data-label);font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8}.clients-list td[data-label=Colore],.clients-list td[data-empty=true]{display:none}.clients-list td[data-label=Tratta]{flex:1 1 100%}.clients-list td[data-label=Km],.clients-list td[data-label=Tariffa]{flex:1 1 calc(50% - .375rem)}.clients-list tbody tr:has(td[data-label=Tariffa][data-empty=true]) td[data-label=Km]{flex:1 1 100%}.clients-list td[data-label=Cliente]{flex:1 1 100%;flex-direction:row;align-items:center;gap:.7rem;padding-bottom:.75rem;border-bottom:1px solid #eef2f7}.clients-list td[data-label=Cliente]:before{display:none}.clients-list td[data-label=Cliente] .client-name{align-items:center;gap:.65rem}.clients-list td[data-label=Cliente] .client-name__meta{flex-direction:column;align-items:flex-start;gap:.15rem}.clients-list td[data-label=Cliente] .client-name__meta .name,.clients-list td[data-label=Cliente] .client-name__id,.clients-list td[data-label=Cliente] .client-name__badges{order:0;flex:0 0 auto}.clients-list td[data-label=Cliente] .name{font-size:1.02rem;line-height:1.2}.clients-list td[data-label=Cliente] .client-name__badges{margin-top:.15rem}.clients-list .color-dot{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #0f172a1a}.clients-list td.clients-row-actions{flex:1 1 100%;flex-direction:row;justify-content:flex-end;align-items:center;padding-top:.1rem}.clients-list td.clients-row-actions:before{display:none}.clients-list .selection-cell{flex:1 1 100%;flex-direction:row;align-items:center;gap:.6rem}}.users-page{display:flex;flex-direction:column;gap:1.25rem}.print-builder{display:flex;flex-direction:column;gap:1.5rem;background:linear-gradient(180deg,#fefefe,#f2f5ff);border:1px solid #e2e8f0;border-radius:1.5rem;padding:1.5rem;box-shadow:0 30px 60px #0f172a1f;font-size:1rem}.print-builder__header{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.print-builder__print-title{display:none}.print-builder__actions{display:flex;align-items:center;gap:.5rem}.secondary-button--ghost{background:transparent;border:1px solid #cbd5f5;color:#0f172a}.print-builder__header h2{margin:0;font-size:1.6rem}.print-builder__filters{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.1rem;display:flex;flex-wrap:wrap;gap:.7rem .8rem;align-items:center}.print-filter__field{display:flex;flex-direction:column;gap:.35rem;flex:1 1 200px;min-width:180px}.filter-checkbox{flex-direction:row;align-items:center;gap:.5rem;font-size:.75rem}.filter-checkbox input{width:16px;height:16px}.print-builder__filter-actions .filter-checkbox{flex:0 1 320px;min-width:220px;max-width:320px;min-height:44px;padding:.65rem .85rem;border:1px solid #cbd5f5;border-radius:.85rem;background:linear-gradient(180deg,#fff,#f7f9ff);box-shadow:0 10px 24px #0f172a12;justify-content:flex-start;align-self:stretch;cursor:pointer}.print-builder__filter-actions .filter-checkbox input{width:18px;height:18px;flex:0 0 auto;margin:0}.print-builder__filter-actions .filter-checkbox span{font-size:.95rem;font-weight:600;line-height:1.2;color:#1e293b}.print-builder__filters input,.print-builder__filters select{width:100%}.print-builder__filters input[type=month],.print-builder__filters input[type=search],.print-builder__filters .group-autocomplete{height:44px;padding:.65rem .85rem;border-radius:.65rem;border:1px solid #cbd5f5;background:linear-gradient(180deg,#fff,#f7f9ff);box-shadow:0 10px 24px #0f172a12;color:#0f172a;font-size:1rem}.month-input-wrapper{display:inline-flex;flex:0 0 220px;min-width:200px;max-width:260px;height:44px}.print-filter__month{width:100%!important;height:100%;padding:.65rem .85rem;border-radius:.65rem;border:1px solid #cbd5f5;background:linear-gradient(180deg,#fff,#f7f9ff);box-shadow:0 10px 24px #0f172a12;font-variant-numeric:tabular-nums;letter-spacing:.02em;color:#0f172a}.print-filter__field input[list]{background:linear-gradient(180deg,#fff,#f7f9ff);box-shadow:0 10px 24px #0f172a12;border-color:#cbd5f5;padding-right:.85rem}.print-builder input[list]::-webkit-calendar-picker-indicator{display:none!important}.print-builder input[list]{-webkit-appearance:textfield;appearance:textfield}.print-filter__month::-webkit-datetime-edit{color:inherit}.print-filter__month::-webkit-calendar-picker-indicator{color:#0f172a;opacity:1}.print-filter__field input[type=search]::-webkit-search-cancel-button{filter:grayscale(1);cursor:pointer}.print-builder__filters input[type=search]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.print-builder button.secondary-button,.print-builder button.primary-button{padding:.6rem .9rem;font-size:.9rem}.print-builder .filter-toggle{justify-self:flex-start;padding:.45rem .7rem;font-size:.85rem;border-radius:.65rem;background:#eef2ff;border:1px solid #cbd5f5;color:#0f172a}.print-builder .filter-toggle.active{background:#0f172a;color:#f8fafc;border-color:#0f172a}.print-builder .filter-toggle:focus,.print-builder .filter-toggle:focus-visible{outline:none;box-shadow:0 0 0 2px #cbd5f5 inset}.print-builder .primary-button:focus-visible,.print-builder .secondary-button:focus-visible{outline:none;box-shadow:0 0 0 2px #cbd5f5 inset}.print-builder .icon-button{width:44px;height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;border-radius:8px;box-shadow:none;transition:none}.print-builder .icon-button:hover,.print-builder .icon-button:focus-visible{box-shadow:none;opacity:1}.print-builder__filters input[type=search]{padding:.65rem .85rem}.print-builder__filters .primary-button{width:auto;margin-top:0}.print-builder__filter-actions{display:flex;flex-wrap:nowrap;align-items:center;gap:.4rem;justify-content:flex-start;width:100%;flex:1 1 340px}.print-builder .group-autocomplete{flex:0 0 auto;width:100%;max-width:320px;font-weight:500;-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.print-builder .group-autocomplete:disabled{opacity:.6;cursor:not-allowed}.print-builder__filter-actions button{flex:0 0 auto;white-space:nowrap}@media(min-width:1201px){.print-builder__filters{flex-wrap:wrap}.print-filter__field{flex:1 1 200px}.print-builder__filter-actions{flex:2 1 360px}.print-builder__filter-actions button{flex:0 0 auto}}@media(max-width:1200px){.print-builder__filters{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:.6rem}.print-filter__field,.month-input-wrapper{flex:0 0 auto;width:100%;max-width:none;min-width:0}.print-filter__month{min-width:160px;max-width:200px;height:44px}.print-builder__filter-actions{flex-direction:column;flex-wrap:nowrap;width:100%;align-items:stretch;gap:.5rem}.print-builder__filter-actions .filter-checkbox{width:100%;max-width:none;min-width:0}.print-builder__filter-actions .group-autocomplete{flex:1 1 100%;min-width:0;max-width:none;font-size:.95rem}.print-builder__filter-actions button{width:100%;flex:0 0 auto;font-size:.9rem;padding:.55rem .75rem}}@media(max-width:768px){.print-builder__filters{flex-direction:column;align-items:stretch;width:100%;gap:.4rem}.print-filter__field,.month-input-wrapper,.print-builder__filter-actions{width:100%;max-width:none;min-width:0;flex:0 0 auto}.print-builder__filter-actions{flex-direction:column;flex-wrap:nowrap;gap:.35rem;width:100%}.print-builder__filter-actions .group-autocomplete{flex:1 1 100%;min-width:0;max-width:none}.print-builder__filter-actions button{width:100%;flex:0 0 auto}.print-builder__filter-actions .filter-checkbox{width:100%;max-width:none;min-width:0}.print-filter__month{min-width:140px;max-width:180px;height:42px}.print-builder{padding:.85rem;gap:.9rem}.print-builder__filters>*{width:100%}.print-builder__filter-actions{width:100%;max-width:100%}.print-builder__header{flex-direction:row;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.print-builder__header h2{font-size:1.25rem}.print-builder__actions{display:flex;flex-wrap:nowrap;gap:.4rem;width:auto;flex:0 0 auto}.print-builder .print-builder__actions button{width:40px;height:40px;min-height:40px;padding:0;flex:0 0 40px;border-radius:.55rem;box-shadow:none}.print-builder__period-tabs{margin-bottom:.2rem}.print-builder__filters{padding:.75rem}.print-builder__filters .range-filter__controls{grid-template-columns:1fr 1fr}.print-builder__filters .print-filter__month{min-width:0;max-width:none}.print-builder__filter-actions .filter-checkbox{flex:0 0 auto;min-width:0;max-width:none;min-height:0;align-self:flex-start;padding:.25rem 0;border:0;border-radius:0;background:transparent;box-shadow:none;gap:.5rem}.print-builder__filter-actions .filter-checkbox input{width:16px;height:16px}.print-builder__filter-actions .filter-checkbox span{font-size:.85rem;font-weight:500}}.print-builder__preview{display:flex;flex-direction:column;gap:1rem}.monthly-mail-panel{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1.1rem;display:flex;flex-direction:column;gap:.9rem}.monthly-mail-panel__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.monthly-mail-panel__header h3,.monthly-mail-panel__box strong{margin:0}.monthly-mail-panel__header p{margin:.2rem 0 0;color:#475569}.monthly-mail-panel__summary{display:flex;flex-wrap:wrap;gap:.75rem;color:#334155;font-size:.95rem}.monthly-mail-panel__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.monthly-mail-panel__box{border:1px solid #dbe4f0;border-radius:1rem;padding:.9rem;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.65rem}.monthly-mail-panel__option{display:flex;align-items:flex-start;gap:.6rem;color:#0f172a}.monthly-mail-panel__option input{margin-top:.2rem}.monthly-mail-panel__result{border-top:1px solid #e2e8f0;padding-top:.9rem}.monthly-mail-panel__result ul{margin:.6rem 0 0;padding-left:1.2rem}@media(max-width:800px){.monthly-mail-panel__header{display:flex;flex-direction:column}.monthly-mail-panel__grid{grid-template-columns:1fr}}.print-builder__empty{margin:0;color:#475569;font-style:italic}.print-client{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.8rem;box-shadow:0 15px 35px #0f172a1f;overflow-x:auto}.print-client__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}.print-client__header h2{font-size:.9rem}.print-client__header h3{margin:0}.print-client__total{text-align:right}.print-client__total span{display:block;font-size:.8rem;color:#475569}.print-client__meta{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;font-size:.85rem;color:#475569}.print-client__meta span{white-space:nowrap}.print-table{width:100%;border-collapse:collapse;margin-top:.5rem;table-layout:fixed;word-break:break-word}.print-table tbody tr:nth-child(2n){background:#f0f5ff99}.print-table th,.print-table td{padding:.2rem .25rem;font-size:.75rem;border-bottom:none;text-align:left}.print-table th{text-transform:uppercase;letter-spacing:.08em;font-size:.55rem;color:#475569;background:transparent}.screen-only{display:block}.print-only{display:none}.print-table--full th,.print-table--full td{vertical-align:top}.print-table__num{text-align:right}.print-table__badges-row td,.print-table__notes-row td{padding-top:0}.print-table__group-total td{font-weight:700;text-align:right}.print-table__group-total td:first-child{text-align:left}.print-table__group-meta td{font-weight:600;text-align:right}.print-table__group-meta td:first-child{text-align:left}.screen-only .print-table__row--alert td{color:#b91c1c;background:#fef2f2}.screen-only .print-table__row--alert .print-table__note-row{color:#7f1d1d}.print-table__note-row--anomaly{font-weight:600;display:flex;gap:.25rem;align-items:center}.print-table--group{margin-bottom:.4rem}.print-table__badge{font-weight:600;color:#0f172a}.print-table__badges{display:flex;flex-wrap:wrap;gap:.35rem;padding:.25rem 0}.print-table__badges span{font-size:.65rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid #dbeafe;border-radius:999px;padding:.1rem .5rem;background:#eef2ff;color:#1e40af}.print-table__note-row{font-size:.72rem;color:#0f172a;line-height:1.3;padding:.4rem 0}.print-summary{background:#fff;border:1px solid #e2e8f0;border-radius:1.25rem;padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:0 15px 40px #0f172a14}.print-summary strong{font-size:1.4rem}.print-client+.print-client{margin-top:.5rem}.toggle-switch{position:relative;display:inline-flex;align-items:center;gap:.55rem;cursor:pointer;font-size:.88rem;color:#1e293b;font-weight:600;-webkit-user-select:none;user-select:none;padding:.4rem 0}.toggle-switch input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.toggle-switch__track{position:relative;width:38px;height:22px;border-radius:999px;background:#cbd5f5;transition:background .15s ease;flex:0 0 auto}.toggle-switch__track:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a40;transition:transform .15s ease}.toggle-switch input:checked+.toggle-switch__track{background:var(--brand-primary, #1d4ed8)}.toggle-switch input:checked+.toggle-switch__track:after{transform:translate(16px)}.toggle-switch input:focus-visible+.toggle-switch__track{outline:2px solid var(--brand-primary, #1d4ed8);outline-offset:2px}.toggle-switch__label{white-space:nowrap}.print-builder__filter-actions .toggle-switch+.toggle-switch{margin-left:0}.print-builder__action.icon-button{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border-radius:.7rem;font-size:1rem;box-shadow:none}.print-builder__action.icon-button .icon-button__icon{width:18px;height:18px}.print-builder__action.icon-button.secondary-button--ghost{background:transparent;border:1px solid #cbd5f5;color:#b91c1c}.print-builder__action.icon-button.secondary-button--ghost:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c;box-shadow:none}.print-range-mode{display:inline-flex;border:1px solid #cbd5f5;border-radius:999px;padding:3px;background:#f8fafc;align-self:flex-start}.print-builder__period-tabs{margin-bottom:.4rem}.print-range-mode__option{border:none;background:transparent;color:#475569;font-size:.8rem;font-weight:600;padding:.35rem .95rem;border-radius:999px;cursor:pointer;letter-spacing:.02em;box-shadow:none;transition:background .15s ease,color .15s ease;min-height:0;line-height:1}.print-range-mode__option:hover:not(.print-range-mode__option--active){color:#0f172a;background:#0f172a0a;box-shadow:none}.print-range-mode__option--active{background:var(--brand-primary, #1d4ed8);color:#f8fafc}.print-filter__field--period{flex:0 1 280px;min-width:220px}@media(max-width:1200px){.print-filter__field--period{flex:0 0 auto;min-width:0}}.print-filter__month--year-only{width:100%;text-align:center;font-size:1.05rem;letter-spacing:.04em;font-weight:700}.expense-builder{gap:1rem}.expense-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:.65rem .85rem;box-shadow:0 8px 22px #0f172a0d}.expense-toolbar__title{margin:0;font-size:1.15rem;font-weight:700;color:#0f172a;flex:0 0 auto;letter-spacing:.01em}.expense-toolbar__controls{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;flex:1 1 auto;justify-content:flex-end;min-width:0}.expense-toolbar__period{display:flex;align-items:center;gap:.35rem;flex:0 0 auto}.expense-toolbar__month,.expense-toolbar__year{height:38px;padding:.35rem .65rem;border-radius:.6rem;border:1px solid #cbd5f5;background:#fff;font-size:.9rem;color:#0f172a;font-variant-numeric:tabular-nums}.expense-toolbar__month{min-width:120px}.expense-toolbar__year{width:78px;text-align:center}.expense-toolbar__year::-webkit-outer-spin-button,.expense-toolbar__year::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.expense-toolbar__nav{width:32px;height:38px;border-radius:.6rem;border:1px solid #cbd5f5;background:#fff;color:var(--brand-primary);font-size:1.15rem;font-weight:700;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0}.expense-toolbar__nav:hover:not(:disabled){background:var(--brand-surface)}.expense-toolbar__nav:disabled{opacity:.5;cursor:not-allowed}.expense-toolbar__operator{flex:0 1 220px;min-width:160px}.expense-toolbar__operator>input{height:38px;border-radius:.6rem;border-color:#cbd5f5;font-size:.9rem}.expense-toolbar__misc{display:inline-flex;align-items:center;gap:.4rem;flex:0 0 auto;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#475569;font-weight:700;padding:0 .25rem;cursor:text}.expense-toolbar__misc input{height:38px;width:88px;padding:.35rem .55rem;border-radius:.6rem;border:1px solid #cbd5f5;background:#fff;font-size:.9rem;color:#0f172a;text-align:right;font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0}.expense-toolbar__actions{display:flex;align-items:center;gap:.35rem;flex:0 0 auto;margin-left:auto}.expense-toolbar__toggle{margin-right:1rem}.expense-toolbar .expense-toolbar__icon{width:42px;height:42px;min-width:42px;min-height:42px;padding:0;border-radius:.6rem;box-shadow:none;font-size:1rem;transition:box-shadow .15s ease,transform .15s ease}.expense-toolbar .expense-toolbar__icon:not(:disabled):hover{box-shadow:0 6px 14px #0f172a14;transform:translateY(-1px)}.expense-toolbar .expense-toolbar__icon .icon-button__icon{width:23px;height:23px}.expense-toolbar .expense-toolbar__icon .icon-button__icon svg{width:23px;height:23px}@media(max-width:900px){.expense-toolbar{align-items:stretch}.expense-toolbar__title{flex:1 1 100%}.expense-toolbar__controls{width:100%;justify-content:flex-start}.expense-toolbar__operator{flex:1 1 200px}}@media(max-width:600px){.expense-builder.print-builder{padding:.85rem;gap:.85rem}.expense-toolbar{padding:.55rem .7rem}.expense-toolbar__period,.expense-toolbar__operator,.expense-toolbar__misc{flex:1 1 100%;min-width:0}.expense-toolbar__period .expense-toolbar__month{flex:1 1 auto;min-width:0}.expense-toolbar__misc input{margin-left:auto}.expense-toolbar__actions{width:100%;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.expense-toolbar__toggle{margin-right:auto;min-width:0}.expense-toolbar .expense-toolbar__icon{width:38px;height:38px;min-width:38px;min-height:38px}.expense-toolbar .expense-toolbar__icon .icon-button__icon,.expense-toolbar .expense-toolbar__icon .icon-button__icon svg{width:20px;height:20px}}@media(max-width:768px){.expense-toolbar .expense-toolbar__icon.expense-toolbar__icon--desktop{display:none}}.expense-sheet{background:#fff;border:1px solid #0f172a;border-radius:.75rem;padding:1.25rem 1.5rem;box-shadow:0 15px 40px #0f172a0d;display:flex;flex-direction:column;gap:1rem}.expense-sheet--print{display:none}.expense-print-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.15rem}.expense-print-logo img{max-height:65px;width:auto;object-fit:contain}.expense-print-meta{display:flex;flex-direction:column;gap:.1rem;font-size:1rem;min-width:200px;text-align:right}.expense-print-period{margin:0}.expense-banner{margin:.35rem 0 .15rem;border:1px solid #0f172a;text-align:center;font-weight:700;font-size:1.25rem;padding:.35rem}.expense-banner--secondary{margin-top:.25rem}.expense-misc-input{display:flex;flex-direction:column;gap:.35rem}.expense-misc-input input{max-width:240px}.expense-stats-row{display:flex;flex-wrap:wrap;align-items:stretch;gap:0;border:1px solid #e2e8f0;border-radius:.85rem;background:#fff;overflow:hidden}.expense-stat{flex:1 1 130px;display:flex;flex-direction:column;gap:.15rem;padding:.45rem .85rem;border-left:1px solid #e2e8f0;min-width:0}.expense-stat:first-child{border-left:none}.expense-stat .label{font-size:.68rem;letter-spacing:.06em}.expense-stat strong{display:block;font-size:1rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-stat--total{background:var(--brand-surface)}.expense-stat--total strong{color:var(--brand-primary-strong)}@media(max-width:600px){.expense-stat{flex:1 1 calc(50% + -0px);border-left:none;border-top:1px solid #e2e8f0;padding:.4rem .65rem}.expense-stat:first-child,.expense-stat:nth-child(2){border-top:none}.expense-stat:nth-child(odd){border-right:1px solid #e2e8f0}}.expense-straordinario-notice{border:1px solid #f59e0b;background:#fffbeb;padding:.75rem 1rem;border-radius:.65rem;display:flex;flex-direction:column;gap:.35rem}.expense-straordinario-list{list-style:none;padding:0;margin:.15rem 0 0;display:grid;gap:.35rem}.expense-straordinario-list li{display:flex;justify-content:space-between;align-items:center;gap:.65rem;font-size:.95rem}.expense-straordinario__date{font-weight:600;color:#0f172a}.expense-straordinario__hours{font-variant-numeric:tabular-nums}.expense-straordinario-total{margin:0;font-weight:700;color:#b45309}.expense-authorization{border:1px solid #0f172a;padding:.75rem 1rem;display:flex;flex-direction:column;gap:0;font-size:1rem}.expense-auth-title{font-size:.9rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;margin-bottom:.35rem}.expense-auth-text{margin:0;line-height:1.4}.expense-auth-sidebar{min-width:240px;display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:.65rem 1.25rem}.expense-auth-footer{display:flex;justify-content:space-between;font-size:.95rem}.expense-report-title{text-align:center;font-weight:700;text-transform:uppercase;letter-spacing:.02em;border:1px solid #0f172a;padding:.6rem;background:#f8fafc}.expense-sheet__table-wrapper{overflow-x:auto}@media(max-width:640px){.expense-sheet--screen{border:none;box-shadow:none;padding:0;background:transparent}.expense-sheet__table-wrapper{overflow:visible;border:none}.expense-sheet__table{border:none;display:block}.expense-sheet__table thead{display:none}.expense-sheet__table tbody,.expense-sheet__table tfoot{display:block}.expense-sheet__table tbody tr,.expense-sheet__table tfoot tr{display:flex;flex-wrap:wrap;column-gap:.75rem;row-gap:.55rem;padding:.85rem;margin-bottom:.65rem;border:1px solid #e2e8f0;border-radius:.9rem;background:#fff;box-shadow:0 8px 20px #0f172a0f}.expense-sheet__table tbody tr:nth-child(2n),.expense-sheet__table tfoot td{background:#fff}.expense-sheet__table tbody td,.expense-sheet__table tfoot td{border:none;padding:0;display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;flex:1 1 calc(33.333% - .5rem);min-width:0;font-size:.92rem}.expense-sheet__table tbody td[data-label=Data]{flex:1 1 calc(38% - .375rem);border-bottom:1px solid #eef2f7;padding-bottom:.55rem;margin-bottom:.15rem}.expense-sheet__table tbody td[data-label=Destinazione]{flex:1 1 calc(62% - .375rem);border-bottom:1px solid #eef2f7;padding-bottom:.55rem;margin-bottom:.15rem}.expense-sheet__table tbody td:before{content:attr(data-label);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;word-break:break-word;white-space:normal}.expense-sheet__table tbody td.num{text-align:left}.expense-sheet__table tfoot tr{background:#f1f5f9;border-color:#cbd5f5}.expense-sheet__table tfoot td{flex:1 1 calc(33.333% - .5rem);font-weight:700;background:transparent}.expense-sheet__table tfoot td[data-label]:before{content:attr(data-label);font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.expense-sheet__table tfoot td[colspan]{flex:1 1 100%;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:#475569;padding-bottom:.4rem;border-bottom:1px solid #cbd5f5;margin-bottom:.2rem}}.expense-sheet__table{width:100%;border-collapse:collapse;border:1px solid #0f172a}.expense-sheet__table thead{background:#f8fafc}.expense-sheet__table th,.expense-sheet__table td{padding:.55rem .65rem;font-size:.9rem;text-align:left;border:1px solid #0f172a}.expense-sheet__table th{font-size:.82rem;letter-spacing:.02em;color:#475569}.expense-sheet__table tbody tr:nth-child(2n){background:#f8fafc}.expense-row--interactive{cursor:pointer;transition:background .15s ease,transform .15s ease}.expense-row--interactive:hover{background:#eef2ff;transform:translateY(-1px)}.expense-row--interactive:focus-visible{outline:2px solid var(--brand-primary);outline-offset:2px}.expense-sheet__table .num{text-align:right;font-variant-numeric:tabular-nums}.expense-sheet__table tfoot td{font-weight:700;background:#f8fafc}.expense-sheet__table--superadmin th,.expense-sheet__table--superadmin td{padding:.4rem .5rem;font-size:.82rem}.expense-sheet__table--superadmin th{font-size:.74rem}.expense-total-box{border:1px solid #0f172a;display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;margin-top:.6rem;font-weight:600}.expense-total-box__label{white-space:nowrap}.expense-total-box__dots{flex:1;border-bottom:1px dotted #475569;margin:0 .3rem .35rem;height:1px;align-self:flex-end}.expense-total-box__amount{font-weight:700;white-space:nowrap}.expense-skeleton{border:1px solid #e2e8f0;border-radius:12px;padding:.9rem 1rem;background:#fff;box-shadow:0 10px 30px #0f172a14;display:flex;flex-direction:column;gap:.75rem}.expense-skeleton__header{height:12px;width:32%;background:linear-gradient(90deg,#e2e8f0,#f1f5f9,#e2e8f0);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:999px}.expense-skeleton__rows{display:grid;gap:.5rem}.expense-skeleton__row{display:grid;grid-template-columns:110px 1fr 90px 90px 90px;gap:.5rem}.expense-skeleton__cell{height:16px;background:linear-gradient(90deg,#e2e8f0,#f1f5f9,#e2e8f0);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:6px}.expense-skeleton__cell--short{width:80px}.expense-skeleton__cell--wide{width:100%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.expense-summary{border:1px solid #0f172a;display:flex;justify-content:space-between;gap:1rem;padding:.9rem 1.1rem;align-items:flex-start;flex-wrap:wrap}.expense-summary__text p{margin:.15rem 0}.expense-summary__total{font-weight:700;text-transform:uppercase;margin-top:.35rem}.print-doc__header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:0 0 .3rem;border-bottom:1.5px solid var(--brand-primary);margin-bottom:.4rem}.print-doc__logo img{max-height:48px;width:auto;object-fit:contain}.print-doc__meta{display:grid;grid-template-columns:auto 1fr;column-gap:.6rem;row-gap:.05rem;margin:0;font-size:.72rem;min-width:280px}.print-doc__meta-row{display:contents}.print-doc__meta dt{color:var(--brand-muted);font-weight:500;white-space:nowrap}.print-doc__meta dd{margin:0;font-weight:600;color:var(--brand-dark)}.print-doc__section{margin:0 0 .35rem}.print-doc__section--total,.print-doc__table tr{page-break-inside:avoid}.print-doc__section-title{margin:0 0 .2rem;padding:.18rem .55rem;font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#fff;background:var(--brand-primary);border-radius:2px}.print-doc__section-body{font-size:.74rem;color:var(--brand-dark);line-height:1.3}.print-doc__section-body p{margin:0 0 .18rem}.print-doc__section-body p:last-child{margin-bottom:0}.print-doc__authorization-car{font-weight:600}.print-doc__empty{text-align:center;color:var(--brand-muted);padding:.6rem 0;font-style:italic;font-size:.78rem}.print-doc__table{width:100%;border-collapse:collapse;font-size:.72rem;border:1px solid var(--brand-border)}.print-doc__table thead th{background:var(--brand-surface);color:var(--brand-primary-strong);font-weight:700;text-transform:uppercase;font-size:.62rem;letter-spacing:.04em;padding:.18rem .4rem;border:1px solid var(--brand-border);text-align:left;line-height:1.15}.print-doc__table tbody td{padding:.13rem .4rem;border:1px solid var(--brand-border);color:var(--brand-dark);line-height:1.2}.print-doc__table tbody tr:nth-child(2n) td{background:var(--brand-surface)}.print-doc__table tbody tr.print-doc__row--continued td{border-bottom:1px dashed var(--brand-border)}.print-doc__table tfoot td{background:var(--brand-primary);color:#fff;font-weight:700;padding:.2rem .4rem;border:1px solid var(--brand-primary);text-transform:uppercase;font-size:.68rem;letter-spacing:.03em}.print-doc__table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.print-doc__col-date{width:72px;white-space:nowrap}.print-doc__col-km{width:60px}.print-doc__col-amount{width:75px}.print-doc__total-box{display:flex;align-items:baseline;gap:.5rem;padding:.4rem .75rem;border:1.5px solid var(--brand-primary);background:var(--brand-surface);font-size:.82rem;font-weight:600;color:var(--brand-primary-strong)}.print-doc__total-label{white-space:nowrap}.print-doc__total-dots{flex:1;border-bottom:1px dotted var(--brand-muted);height:1px;align-self:flex-end;margin-bottom:.25rem}.print-doc__total-amount{font-weight:800;font-size:.92rem;white-space:nowrap;color:var(--brand-primary-strong)}.print-doc__total-list{border:1px solid var(--brand-border);background:#fff;padding:.3rem .6rem;display:flex;flex-direction:column;gap:.1rem;font-size:.74rem;color:var(--brand-dark)}.print-doc__total-row{display:flex;justify-content:space-between;gap:.5rem;padding:.08rem 0;border-bottom:1px dashed var(--brand-border)}.print-doc__total-row:last-child{border-bottom:none}.print-doc__total-row-amount{font-variant-numeric:tabular-nums;font-weight:600}.print-doc__total-row--grand{margin-top:.15rem;padding-top:.25rem;border-top:1.5px solid var(--brand-primary);color:var(--brand-primary-strong);font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em}.print-doc__total-row--grand .print-doc__total-row-amount{font-weight:800}@media print{.expense-sheet--screen{display:none!important}.expense-sheet--print{display:flex}.expense-misc-input{display:none!important}}@media print{@page{size:A4;margin:8mm}body{background:#fff;color:#0f172a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.25;-webkit-print-color-adjust:exact;print-color-adjust:exact}.app-shell,.print-builder{background:inherit;padding:0;border:none;box-shadow:none}.app-shell{display:block}.dashboard{display:block;width:100%}.main-content{overflow:visible;padding:0;box-shadow:none;background:transparent}.print-builder{background:transparent;gap:.2rem;width:100%}#sidebar-navigation,.sidebar,.sidebar-nav,.sidebar-nav__action,.sidebar-nav__logout,.logout-pill,.logout-btn,.main-content>:not(.print-builder){display:none!important}.print-builder__filters,.monthly-mail-panel,.error-message,.print-builder__actions,.print-builder__header,.print-range-mode,.expense-toolbar,.screen-only{display:none!important}.print-only{display:block}.print-builder__print-title{display:none}.print-client{background:transparent;box-shadow:none;padding:.25rem .4rem;margin:0}.print-client+.print-client{margin-top:.15rem}.print-client__header{gap:.2rem}.print-table{width:100%}.print-table tbody tr:nth-child(2n){background:transparent}.print-table th,.print-table td{font-size:.65rem;padding:.08rem 0}.print-table--group{margin-bottom:0;border-collapse:collapse}.print-client,.print-table:not(.print-table--full),.print-table:not(.print-table--full) th,.print-table:not(.print-table--full) td{border:none!important}.print-table--full{border-collapse:collapse;width:100%;border:1px solid #cbd5e1;border-radius:4px;overflow:hidden}.print-table--full th,.print-table--full td{border:none;border-bottom:1px solid #f1f5f9;padding:.18rem .45rem;color:#0f172a;line-height:1.25;vertical-align:top}.print-table--full thead th{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;background:#fafbfc;font-weight:600;border-bottom:1px solid #e2e8f0}.print-table--full tbody tr:last-child td{border-bottom:none}.print-table--full td.print-table__num,.print-table--full th.print-table__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-feature-settings:"tnum"}.print-table__group-head th{font-size:.78rem;letter-spacing:.01em;background:#1e3a8a!important;color:#fff!important;padding:.25rem .5rem;border-bottom:none!important;text-transform:none}.print-table__group-head-name{text-align:left;font-weight:700;color:#fff!important}.print-table__group-head-total{text-align:right;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;color:#fff!important}.print-pdf-header{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.35rem;padding-bottom:.3rem;border-bottom:1.5px solid #1e3a8a}.print-pdf-header__brand{display:flex;align-items:center;gap:.5rem}.print-pdf-header__logo img{max-height:30px;width:auto;object-fit:contain}.print-pdf-header__title h1{margin:0;font-size:.85rem;font-weight:700;color:#0f172a;letter-spacing:-.01em;line-height:1.1}.print-pdf-header__title small{display:block;font-size:.55rem;color:#64748b;text-transform:uppercase;letter-spacing:.08em;margin-top:1px}.print-pdf-header__meta{text-align:right}.print-pdf-header__period{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.04em;color:#0f172a;text-transform:capitalize;line-height:1.1}.print-pdf-header__filter{margin:.05rem 0 0;font-size:.55rem;color:#475569;letter-spacing:.02em;text-transform:uppercase;line-height:1.1}.print-pdf-client{margin-bottom:.3rem}.print-pdf-client__table-wrap{page-break-inside:auto}.print-table__category-head th{text-align:left;background:#f1f5f9!important;font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#1e3a8a!important;padding:.18rem .5rem;border-bottom:1px solid #e2e8f0!important}.print-table__category-subtotal td{background:transparent!important;font-weight:700;font-variant-numeric:tabular-nums;border-top:1px solid #cbd5e1!important;border-bottom:none!important;padding:.18rem .45rem;color:#0f172a}.print-table__category-subtotal td:first-child{text-align:left;color:#475569;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.6rem}.print-pdf-grand-total{display:flex;justify-content:space-between;align-items:center;margin-top:.3rem;padding:.3rem .6rem;background:#1e3a8a;color:#fff;border-radius:4px;page-break-inside:avoid}.print-pdf-grand-total span{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;opacity:.92}.print-pdf-grand-total strong{font-size:.85rem;font-weight:700;font-variant-numeric:tabular-nums}.print-pdf-footer{display:flex;justify-content:space-between;margin-top:.3rem;padding-top:.2rem;border-top:1px solid #e2e8f0;font-size:.5rem;color:#94a3b8}.expense-sheet{border:none;box-shadow:none;padding:.35rem 0}.expense-sheet__table{border:1px solid #cbd5e1}.expense-sheet__table th,.expense-sheet__table td{font-size:.7rem;padding:.14rem .25rem;border-bottom:1px solid #e2e8f0}.expense-sheet__table tbody tr:nth-child(2n){background:transparent}.expense-sheet__table tfoot td{background:transparent}.print-table__badges-row td,.print-table__notes-row td{background:transparent!important;border-bottom:1px dashed #f1f5f9!important;padding:.05rem .45rem .18rem!important}.print-table__badges{display:flex;flex-wrap:wrap;gap:.2rem;padding:0;margin-left:.6rem}.print-table__badges span{font-size:.52rem;padding:.02rem .32rem;background:#eef2ff;color:#1e3a8a;border-radius:8px;letter-spacing:.02em}.print-table__note-row{font-size:.62rem;line-height:1.2;padding:.05rem 0 0;color:#475569;margin-left:.6rem;font-style:italic;position:relative}.print-table__note-row:before{content:"↳";position:absolute;left:-.6rem;top:0;color:#94a3b8;font-style:normal}.print-table__note-row--anomaly{color:#b91c1c;font-style:normal;font-weight:600}.print-table__row--alert td{background:#fef2f2!important}}.label{margin:0;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:#475569}.error-message{margin:0;padding:.45rem .8rem;border-radius:.8rem;background:#fee2e2;color:#991b1b;font-size:.9rem}@media(max-width:640px){.print-builder__header{flex-direction:column;align-items:flex-start}.app-shell{padding:.75rem}.main-content{padding:.85rem}.calendar-header{gap:.75rem;align-items:flex-start}.calendar-header .greeting,.calendar-header .subtitle{display:none}.calendar-header h2{font-size:1.15rem;margin:0}.calendar-header .month-label{font-size:.9rem;margin:.1rem 0 0}.calendar-header .header-actions{gap:.75rem;flex-direction:column;align-items:stretch}.calendar-wrapper{height:auto;min-height:0;padding:.75rem}.header-actions-left{width:100%;gap:.75rem}.header-actions-left .user-picker{flex:1 1 180px;min-width:0}.user-picker select,.user-picker input[type=search]{width:100%}.add-rapportino-btn{width:100%;max-width:180px}.calendar-wrapper{padding:.75rem;height:auto;min-height:420px}.details-panel{margin:1rem -.85rem 0;padding:.4rem 0;background:transparent;border-radius:0}.details-header{padding:0 .85rem}.event-details{padding:.8rem .85rem}.search-page__header{flex-direction:column}.search-page__filters{width:100%}.search-page__filters .user-picker{flex:1 1 220px;min-width:0}.details-list{max-height:none}.event-details__header{flex-direction:column;align-items:flex-start}.event-details__hours{flex-wrap:wrap}}@media(min-width:940px){.print-builder__filters{grid-template-columns:repeat(3,minmax(240px,1fr)) auto}.print-builder__filter-actions{justify-content:flex-end;align-self:stretch}}.users-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.users-page{display:flex;flex-direction:column;gap:1.25rem;color:#0f172a}.users-header__actions{display:flex;align-items:center;gap:.5rem}.users-page .users-toggle-deleted,.users-page button.users-toggle-deleted{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border-radius:.75rem;border:1px solid #cbd5f5;background:#e2e8f0;color:#0f172a;padding:.6rem 1rem;font-weight:600;box-shadow:none}.users-page .users-toggle-deleted.active{background:#0f172a;color:#f8fafc;border-color:#0f172a;box-shadow:none}.users-table-wrapper{background:#fff;border-radius:1rem;box-shadow:0 15px 45px #2364ae1f;border:1px solid #e2e8f0;overflow:hidden}.users-table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:.85rem 1rem;text-align:left;font-size:.95rem;word-break:break-word}.users-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.users-table thead th{padding:.7rem .85rem;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#64748b;white-space:nowrap;word-break:normal}.users-table tbody td[data-label="Euro/Km"],.users-table tbody td[data-label="Cell (€)"],.users-table tbody td[data-label="CV fiscali"],.users-table thead th:nth-child(3),.users-table thead th:nth-child(4),.users-table thead th:nth-child(5){text-align:right;font-variant-numeric:tabular-nums}.users-table tbody tr:nth-child(odd){background:#fff}.users-table tbody tr:nth-child(2n){background:#f6f9fc}.users-table tbody tr:hover{background:#e5f0ff}.users-table tbody tr{cursor:pointer}.users-table__row--deleted{opacity:.7}.users-actions{white-space:nowrap;justify-content:flex-end;align-items:center;flex-wrap:nowrap;gap:.4rem;width:auto}.users-table th.users-actions-head{text-align:right;width:1%;white-space:nowrap}.row-action-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:.6rem;border:1px solid #cbd5f5;background:#fff;color:#1e3a8a;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease;box-shadow:none}.row-action-btn:hover:not(:disabled){background:#eef2ff;border-color:#1e3a8a;transform:none}.row-action-btn:focus-visible{outline:2px solid #1e3a8a;outline-offset:1px}.row-action-btn:disabled{opacity:.45;cursor:not-allowed}.row-action-btn--danger{color:#b91c1c;border-color:#fecaca}.row-action-btn--danger:hover:not(:disabled){background:#fee2e2;border-color:#b91c1c;color:#b91c1c}.user-name-cell{display:flex;align-items:center;gap:.5rem;font-weight:700}.user-email{font-size:.9rem;color:#5f6b78;word-break:normal;overflow-wrap:normal;white-space:nowrap}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.2rem .7rem;border-radius:999px;background:#0f172a;color:#f8fafc;font-size:.8rem;white-space:nowrap;min-width:90px}@media(max-width:900px){.users-table,.users-table thead,.users-table tbody,.users-table th,.users-table td,.users-table tr{display:block}.users-table-wrapper{background:transparent;box-shadow:none;overflow:visible}.users-table thead{display:none}.users-table tbody tr{margin-bottom:1rem;border:1px solid #e2e8f0;border-radius:1rem;padding:1rem;background:#fff;box-shadow:0 10px 24px #0f172a14;display:flex;flex-wrap:wrap;column-gap:.75rem;row-gap:.65rem}.users-table td{border:0;padding:0;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.2rem;flex:1 1 100%;min-width:0}.users-table td[data-label=Utente]{border-bottom:1px solid #eef2f7;padding-bottom:.65rem}.users-table td[data-label="Euro/Km"],.users-table td[data-label="Cell (€)"],.users-table td[data-label="CV fiscali"]{flex:1 1 calc(33.333% - .5rem)}.users-table td:before{content:attr(data-label);display:block;font-weight:700;color:#64748b;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.05rem}.users-table td[data-label=Utente]:before{display:none}.users-table td[data-label=Azioni]:before{display:none}.users-table .user-name-cell{font-size:1.05rem}.users-table .table-actions{flex-direction:row;gap:.5rem;width:100%;justify-content:flex-end}.users-table .users-actions .row-action-btn{flex:0 0 auto;width:48px;height:48px;min-width:48px;min-height:48px}}@media(max-width:640px){.users-header{flex-direction:column;align-items:flex-start}.users-header__actions{width:100%;justify-content:space-between}.users-toggle-deleted{width:100%;justify-content:center;font-size:.95rem;padding:.55rem .9rem}}.badge--muted{background:#cbd5f5;color:#0f172a}.badge--success{background:#a3e635;color:#1a2b4b}.table-actions{display:flex;gap:.5rem;flex-wrap:wrap}.table-actions button,.table-actions .danger-button{padding:.35rem .7rem;font-size:.85rem}.secondary-button{background:#e2e8f0;color:#0f172a}.secondary-button.active{background:#0f172a;color:#f8fafc}.print-builder .secondary-button.secondary-button--active{background:#0f172a;color:#f8fafc;border:1px solid #0f172a}.user-form{display:flex;flex-direction:column;gap:1rem;background:#f7fbff;border-radius:1rem;border:1px solid #e2e8f0;box-shadow:0 10px 30px #2364ae1f;padding:1rem}.menu-visibility{border:1px solid #d0d9e4;border-radius:.9rem;padding:1rem;background:#fff}.menu-visibility h4{margin:0 0 .75rem}.menu-visibility__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem}.smtp-settings{background:#fcfdff;border:1px solid #d9e2ee;box-shadow:none}.smtp-settings__header{margin-bottom:.85rem}.smtp-settings__header h4{margin:0;font-size:1rem;color:#172033}.smtp-settings__header p{margin:.25rem 0 0;color:#66758a;font-size:.88rem;max-width:48ch}.smtp-settings__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:.8rem 1rem;align-items:end}.smtp-settings__field,.smtp-settings__field--server{grid-column:span 4}.smtp-settings__field--port{grid-column:span 2}.smtp-settings__field--username,.smtp-settings__field--password,.smtp-settings__field--from{grid-column:span 4}.smtp-settings .form-field span:first-child{color:#42516a;font-weight:700}.smtp-settings__secure-inline{grid-column:span 2;min-height:44px;align-self:end;display:inline-flex;align-items:center;gap:.55rem;padding-bottom:.55rem;color:#334155}.smtp-settings__secure-inline input{width:18px;height:18px;margin:0}@media(max-width:980px){.smtp-settings__field,.smtp-settings__field--server,.smtp-settings__field--port,.smtp-settings__field--username,.smtp-settings__field--password,.smtp-settings__field--from,.smtp-settings__secure-inline{grid-column:span 6}}@media(max-width:700px){.smtp-settings__grid{grid-template-columns:1fr}.smtp-settings__field,.smtp-settings__field--server,.smtp-settings__field--port,.smtp-settings__field--username,.smtp-settings__field--password,.smtp-settings__field--from,.smtp-settings__secure-inline{grid-column:auto}.smtp-settings__secure-inline{padding-bottom:0}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172a73;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:1rem;z-index:1000}@media(min-width:769px){.modal-overlay{align-items:center}}.modal{background:#fff;border-radius:1.2rem;width:min(640px,92%);padding:1.5rem;box-shadow:0 25px 80px #0f172a66;max-height:calc(100vh - 2rem);overflow:auto}.modal header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.modal__compact-header{justify-content:flex-start;margin-bottom:.5rem}.modal header button{background:transparent;color:#0f172a;font-size:1.2rem;padding:0}.clients-modal{padding:1.1rem 1.2rem;max-height:calc(100vh - 1.5rem)}.clients-modal header{justify-content:flex-start;margin-bottom:.6rem}.clients-modal .client-form,.clients-modal .client-form .form-row{gap:.75rem}.client-cost-breakdown.modal-content{background:#fff;border-radius:1rem;width:min(520px,92%);padding:1.25rem 1.5rem;box-shadow:0 20px 60px #0f172a59;color:#0f172a}.client-cost-breakdown__head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.client-cost-breakdown__head h4{margin:0;font-size:1.1rem}.client-cost-breakdown__head small{color:#475569}.client-cost-breakdown__head button{background:#1d4ed8;color:#fff;border-radius:999px;padding:.35rem .9rem;font-weight:700}.client-cost-breakdown__body{display:grid;gap:.6rem;font-size:1rem}.client-cost-breakdown__body p{margin:0}.modal-body{display:flex;flex-direction:column;gap:1.25rem}.modal-body--compact{padding-top:0;gap:.9rem}.password-modal{width:min(420px,92%);padding:1.1rem 1.25rem}.password-modal header{margin-bottom:.6rem}.password-modal header h3{margin:0;font-size:1.05rem;font-weight:700;color:#0f172a}.password-modal__close{background:transparent;color:#64748b;font-size:1.2rem;padding:.2rem .4rem;line-height:1}.password-modal__close:not(:disabled):hover{color:#0f172a;background:#f1f5f9;box-shadow:none;transform:none}.password-form{display:flex;flex-direction:column;gap:.75rem}.password-form .form-field{display:flex;flex-direction:column;gap:.3rem}.password-form .form-field span{font-size:.82rem;color:#475569;font-weight:600}.password-form input[type=password]{border:1px solid #cbd5f5;border-radius:.7rem;padding:.55rem .75rem;font-size:.95rem;background:#fff;width:100%;box-sizing:border-box}.password-form input[type=password]:focus{outline:none;border-color:#2364ae;box-shadow:0 0 0 3px #2364ae2e}.password-form__actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.4rem}.password-form__actions button{padding:.55rem 1.1rem;font-size:.9rem;border-radius:.7rem}.contract-history{border:1px solid #e2e8f0;border-radius:.9rem;padding:.9rem;background:#f8fafc}.contract-history__head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.contract-history__head h4{margin:0;font-size:1rem}.contract-history__empty{margin:0;color:#475569}.contract-history__table-wrapper{overflow-x:auto}.contract-history__table{width:100%;border-collapse:collapse;font-size:.95rem}.contract-history__table th,.contract-history__table td{padding:.5rem .35rem;text-align:left;border-bottom:1px solid #e2e8f0}.contract-history__table th{color:#475569;font-weight:600}.package-history{margin-top:.25rem}.packages-modal .modal{width:min(920px,94%)}.package-history__table-wrapper{max-height:360px;overflow-y:auto;overflow-x:hidden;border:1px solid #e2e8f0;border-radius:.75rem;background:#fff}.package-history__table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.9rem}.package-history__table thead th{position:sticky;top:0;background:#f1f5f9;color:#334155;font-size:.85rem;font-weight:600;text-align:left;padding:.55rem .6rem;border-bottom:1px solid #e2e8f0;overflow-wrap:anywhere}.package-history__table tbody td{padding:.5rem .6rem;border-bottom:1px solid #eef2f7;color:#1f2937;vertical-align:top;line-height:1.3;overflow-wrap:anywhere;word-break:break-word}.package-history__table tbody tr:last-child td{border-bottom:none}.package-history__table tbody tr:nth-child(2n){background:#fafbfc}.package-history__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.package-history__reason-cell{color:#334155}.package-history__positive{color:#047857;font-weight:700}.package-history__negative{color:#b91c1c;font-weight:700}@media(max-width:720px){.package-history__table-wrapper{max-height:none;border:0;background:transparent;overflow:visible}.package-history__table,.package-history__table thead,.package-history__table tbody,.package-history__table tr,.package-history__table td{display:block;width:100%}.package-history__table thead{display:none}.package-history__table tbody tr{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:.65rem .8rem;margin-bottom:.6rem}.package-history__table tbody tr:nth-child(2n){background:#fff}.package-history__table tbody td{display:flex;justify-content:space-between;gap:.75rem;padding:.3rem 0;border:0;text-align:left}.package-history__table tbody td:before{content:attr(data-label);color:#64748b;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.package-history__num{text-align:right}}.client-form,.user-form{display:flex;flex-direction:column;gap:1rem}.client-form .form-row,.user-form .form-row{display:grid;gap:1rem;width:100%}.client-form .form-row--primary,.user-form .form-row--primary{grid-template-columns:minmax(0,3fr) minmax(0,1fr);align-items:flex-start;gap:1.5rem}.rapportino-modal .form-row--primary{display:block}:root{--rappo-caption: .6rem;--rappo-small: .78rem;--rappo-body: .92rem;--rappo-value: 1.05rem;--rappo-time: 1.4rem;--rappo-hero: clamp(1.35rem, 4vw, 1.75rem)}.rapportino-layout{display:flex;flex-direction:column;gap:.75rem;width:100%}.rapportino-summary-panel{display:flex;flex-wrap:wrap;gap:1rem;width:100%;min-width:0}.rapportino-basic,.rapportino-times-costs,.rapportino-summary-panel{min-width:0;background:#fff;border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.45rem;font-size:.9rem;width:100%;align-items:stretch;box-shadow:0 10px 28px #0f172a14}.rapportino-basic{margin-bottom:0}.rapportino-date-badge{position:relative;align-self:flex-end;display:inline-flex;align-items:center;gap:.4rem;background:#2364ae14;border:1px solid rgba(35,100,174,.2);border-radius:999px;padding:.3rem .7rem .3rem .85rem;font-size:.82rem;font-weight:600;color:#2364ae;letter-spacing:.01em;text-transform:capitalize;margin-top:-.2rem;-webkit-user-select:none;user-select:none;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;font-family:inherit;line-height:1.2}.rapportino-date-badge:hover:not(:disabled){background:#2364ae24;border-color:#2364ae52;box-shadow:0 4px 12px -6px #2364ae66}.rapportino-date-badge:focus-visible{outline:none;border-color:#2364ae80;box-shadow:0 0 0 3px #2364ae2e}.rapportino-date-badge:disabled{cursor:not-allowed;opacity:.7}.rapportino-date-badge__chevron{flex-shrink:0;opacity:.7;transition:transform .15s ease}.rapportino-date-badge:hover:not(:disabled) .rapportino-date-badge__chevron{transform:translateY(1px);opacity:1}.rapportino-date-badge__input{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:auto;border:0;padding:0;margin:0;background:transparent;color:transparent;cursor:pointer}.rapportino-form-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.rapportino-form-actions__buttons{display:flex;align-items:center;gap:.55rem;margin-left:auto}.rapportino-form-actions__buttons .icon-button{min-width:52px;min-height:52px;width:52px;height:52px;border-radius:1rem;padding:0;border:1px solid transparent;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.rapportino-form-actions__buttons .icon-button .icon-button__icon{width:32px;height:32px}.rapportino-form-actions__buttons .icon-button:not(:disabled):hover{transform:translateY(-1px)}.rapportino-form-actions__buttons .icon-button:not(:disabled):active{transform:translateY(0)}.rapportino-form-actions__buttons button[type=submit].icon-button{background:linear-gradient(135deg,#2364ae,#4a8fd9);color:#fff;box-shadow:0 8px 18px -8px #2364ae8c,inset 0 1px #ffffff40}.rapportino-form-actions__buttons button[type=submit].icon-button:not(:disabled):hover{box-shadow:0 12px 26px -10px #2364aeb3,inset 0 1px #ffffff4d}.rapportino-form-actions__buttons .danger-button.icon-button{background:linear-gradient(135deg,#dc2626,#f87171);color:#fff;box-shadow:0 8px 18px -8px #dc26268c,inset 0 1px #ffffff40}.rapportino-form-actions__buttons .danger-button.icon-button:not(:disabled):hover{box-shadow:0 12px 26px -10px #dc2626b3,inset 0 1px #ffffff4d}.rapportino-form-actions__buttons .secondary-button.icon-button{background:#fff;color:#475569;border-color:#e2e8f0;box-shadow:0 2px 6px #0f172a0f}.rapportino-form-actions__buttons .secondary-button.icon-button:not(:disabled):hover{background:#f8fafc;border-color:#cbd5e1;color:#0f172a;box-shadow:0 6px 14px -6px #0f172a2e}.rapportino-form-actions__buttons .icon-button:disabled{opacity:.5;box-shadow:none}.rapportino-form--locked fieldset[disabled]{opacity:.85;cursor:not-allowed}.rapportino-form--locked fieldset[disabled] *{cursor:not-allowed}.rapportino-locked-wrapper{position:relative}.rapportino-locked-wrapper:before{content:"🔒";position:absolute;top:-10px;right:-4px;font-size:.95rem;z-index:2;pointer-events:none;background:#fef3c7;border:1px solid #fde68a;color:#92400e;width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center}.rapportino-signature-section{margin:.6rem 0 .5rem;border:1px solid #e2e8f0;background:#fff;border-radius:.6rem;overflow:hidden}.rapportino-signature-section.is-open{background:#f8fafc}.rapportino-signature-section__toggle{width:100%;display:flex;align-items:center;gap:.6rem;padding:.55rem .85rem;background:transparent;border:0;cursor:pointer;text-align:left;font-family:inherit;color:#0f172a}.rapportino-signature-section__toggle:hover{background:#f1f5f9}.rapportino-signature-section__title{font-weight:700;font-size:var(--rappo-body);color:#0f172a}.rapportino-signature-section__summary{display:flex;align-items:center;gap:.45rem;margin-left:auto;flex-wrap:wrap}.rapportino-signature-section__chevron{color:#64748b;font-size:.8rem;margin-left:.4rem}.rapportino-signature-section__body{padding:.2rem .85rem .75rem;display:flex;flex-direction:column;gap:.55rem;border-top:1px solid #e2e8f0}.rapportino-signature-section__status{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding-top:.55rem}.rapportino-signature-meta{font-size:var(--rappo-small);color:#475569}.rapportino-signature-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.16rem .5rem;border-radius:999px;background:#dcfce7;color:#166534;font-size:var(--rappo-small);font-weight:600;line-height:1.1}.rapportino-signature-empty{color:#94a3b8;font-size:var(--rappo-small);font-style:italic}.rapportino-signature-sent-mini{font-size:var(--rappo-small);color:#475569;font-weight:500}.rapportino-signature-preview{align-self:flex-start;max-width:220px;max-height:70px;border:1px solid #cbd5e1;background:#fff;border-radius:.4rem;padding:.25rem}.rapportino-signature-section__actions{display:flex;gap:.5rem;flex-wrap:wrap}.rapportino-signature-sent{margin:0;font-size:.78rem;color:#475569}.signature-btn{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font-family:inherit;font-size:.82rem;font-weight:600;line-height:1;padding:.45rem .9rem;min-height:34px;border-radius:6px;border:1px solid transparent;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;letter-spacing:0;box-shadow:none;white-space:nowrap}.signature-btn:focus-visible{outline:none;box-shadow:0 0 0 2px #2563eb4d}.signature-btn:disabled{opacity:.55;cursor:not-allowed}.signature-btn--primary{background:#1d4ed8;border-color:#1d4ed8;color:#fff}.signature-btn--primary:hover:not(:disabled){background:#1e40af;border-color:#1e40af}.signature-btn--secondary{background:#fff;border-color:#cbd5e1;color:#0f172a}.signature-btn--secondary:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.signature-modal{width:min(540px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden;display:flex;flex-direction:column}.signature-modal__body{display:flex;flex-direction:column;gap:14px;padding:18px 20px 20px;overflow-y:auto}.signature-modal__header{margin:0;display:flex;flex-direction:column;gap:4px}.signature-modal__header h3{margin:0;font-size:1.05rem;color:#0f172a}.signature-modal__header p{margin:0;color:#64748b;font-size:.85rem;line-height:1.4}.signature-modal__field{display:flex;flex-direction:column;gap:4px;margin:0}.signature-modal__field>span{font-size:.78rem;font-weight:600;color:#475569;letter-spacing:.02em}.signature-modal__field input[type=text],.signature-modal__field input[type=email],.signature-modal__field select,.signature-modal__field textarea{width:100%;padding:8px 10px;border:1px solid #cbd5e1;border-radius:6px;font-size:.92rem;background:#fff;color:#0f172a;font-family:inherit;box-sizing:border-box}.signature-modal__field textarea{resize:vertical;min-height:64px}.signature-modal__field input:focus,.signature-modal__field select:focus,.signature-modal__field textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb2e}.signature-modal__canvas-block{display:flex;flex-direction:column;gap:6px}.signature-modal__canvas-meta{display:flex;justify-content:space-between;align-items:center;gap:8px}.signature-modal__canvas-meta span{font-size:.75rem;color:#64748b}.signature-modal__check{display:flex;align-items:flex-start;gap:8px;font-size:.83rem;color:#475569;line-height:1.35;margin:0}.signature-modal__check input[type=checkbox]{margin-top:2px}.signature-modal__error{margin:0}.signature-modal__actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.rapportino-agent-badge--footer{align-self:center}.rapportino-basic .full{width:100%}.rapportino-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem}.rapportino-details-row{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:.75rem;align-items:flex-start;width:100%}.rapportino-client-field{width:100%;display:flex;flex-direction:column;gap:.25rem;min-width:0}.rapportino-tratta-row{display:grid;grid-template-columns:minmax(0,1fr) 90px;gap:.4rem;align-items:stretch}.rapportino-tratta-row .form-field{display:flex;flex-direction:column;gap:0;min-width:0}.rapportino-tratta-row .form-field>span{display:none}.rapportino-tratta-row .form-field input{border:0;background:#f8fafc;border-radius:.55rem;padding:.5rem .7rem;font-size:var(--rappo-body);font-weight:600;color:#0f172a;width:100%;box-shadow:none}.rapportino-tratta-row .form-field input:focus{outline:none;background:#f1f5f9;box-shadow:none}.rapportino-tratta-row .form-field input::placeholder{color:#94a3b8;font-weight:500}.rapportino-tratta-row .form-field:last-child input{text-align:center}.rapportino-tratta-row--remote{grid-template-columns:minmax(0,1fr)}.rapportino-client-search .rapportino-client-autocomplete{position:relative;width:100%}.rapportino-client-search input[type=search]{border:0;border-radius:.55rem;padding:.5rem .7rem;font-size:var(--rappo-body);font-weight:600;color:#0f172a;background:#f8fafc;width:100%;box-shadow:none}.rapportino-client-search input[type=search]:focus{outline:none;background:#f1f5f9}.rapportino-client-search input[type=search]::placeholder{color:#94a3b8;font-weight:500}.rapportino-client-autocomplete input{width:100%;box-sizing:border-box}.rapportino-notes{width:100%;border:0;border-radius:.55rem;padding:.5rem .7rem;font-size:var(--rappo-body);font-weight:500;color:#0f172a;background:#f8fafc;resize:none;min-height:70px;line-height:1.4}.rapportino-notes:focus{outline:none;background:#f1f5f9}.rapportino-notes::placeholder{color:#94a3b8;font-weight:500}.spaced-label span{letter-spacing:.03em}.rapportino-form .form-field span{font-weight:700;color:#0f172a;margin-bottom:.15rem;font-size:.85rem}.form-field.full textarea{resize:vertical;min-height:70px;padding:.55rem .65rem}.rapportino-form .form-field{display:flex;flex-direction:column;gap:.25rem}.rapportino-flags{display:flex;align-items:center;gap:.5rem;margin-bottom:0rem;flex-wrap:wrap;justify-content:flex-start;min-width:0;padding:.45rem .55rem;background:#f8fafc;border-radius:.55rem}.rapportino-notes{min-height:130px}.rapportino-form .form-checkbox{flex:0 0 auto}.time-grid,.cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.5rem;row-gap:.35rem;margin-top:0}.cost-grid{gap:.4rem;column-gap:.4rem;row-gap:.4rem}.cost-grid .form-field{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.4rem .6rem .45rem;background:#f8fafc;border-radius:.55rem;border:0}.cost-grid .form-field:focus-within{background:#f1f5f9}.cost-grid .form-field>span{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;text-transform:uppercase;letter-spacing:.05em;font-size:var(--rappo-caption);font-weight:700;color:#94a3b8;line-height:1;text-align:center}.cost-grid .form-field .input-affix{position:relative;display:flex;align-items:center;min-height:26px;width:100%;min-width:0;max-width:none;border:0;background:transparent;box-shadow:none;padding:0}.cost-grid .form-field .input-affix__symbol{position:absolute;left:0;top:50%;transform:translateY(-50%);color:#64748b;font-weight:600;font-size:var(--rappo-body);pointer-events:none}.cost-grid .form-field .input-affix input{min-height:24px;font-size:var(--rappo-value);font-weight:700;color:#0f172a;background:transparent;border:0;box-shadow:none;padding:0 0 0 1.1rem;font-variant-numeric:tabular-nums;text-align:right;width:100%}.cost-grid .form-field .input-affix input:focus{outline:none;background:transparent;box-shadow:none}.time-grid.compact{display:flex;flex-direction:column;gap:.4rem;padding:0;width:100%}.time-grid.compact .time-phase{display:flex;flex-direction:column;gap:.2rem;min-width:0}.time-grid.compact .time-phase__card{position:relative;display:flex;align-items:center;column-gap:.55rem;min-width:0;width:100%;padding:.4rem .65rem;border-radius:.6rem;background:#fff}.time-grid.compact .time-phase[data-phase=lavoro] .time-phase__card{background:#10b98112}.time-grid.compact .time-phase[data-phase=pausa] .time-phase__card{background:#f59e0b12}.time-grid.compact .time-phase[data-phase=viaggio] .time-phase__card{background:#3b82f612}.time-grid.compact .time-phase__title{display:none}.time-grid.compact .time-phase[data-phase=viaggio] .time-phase__card{flex-direction:column;align-items:stretch;gap:.5rem;padding-top:.4rem;padding-bottom:.2rem}.time-travel-bar__header{display:flex;align-items:baseline;justify-content:center;padding:0;line-height:1}.time-travel-bar__caption{text-transform:uppercase;letter-spacing:.05em;font-size:var(--rappo-caption);font-weight:700;color:#94a3b8;text-align:center}.time-travel-custom{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.2rem .4rem .3rem}.time-travel-custom__back{display:inline-flex;align-items:center;gap:.2rem;background:#94a3b82e;color:#475569;border:0;border-radius:.5rem;padding:.35rem .6rem;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.time-travel-custom__back:hover{background:#94a3b852;color:#1e293b}.time-travel-custom__input{flex:0 0 auto;width:7.5rem;min-width:0;border:0;background:#ffffffd9;border-radius:.5rem;padding:.3rem .5rem;font-size:.95rem;font-weight:800;color:#1d4ed8;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em;box-shadow:inset 0 0 0 1px #3b82f659}.time-travel-custom__input:focus{outline:none;box-shadow:inset 0 0 0 2px #1d4ed8}.time-grid.compact .time-phase[data-phase=viaggio] .time-phase__card.is-custom{background:#3b82f624;box-shadow:inset 0 0 0 1px #3b82f652}.time-grid.compact .time-phase[data-phase=viaggio] .time-travel-bar{padding:0 .25rem}.time-grid.compact .time-phase__pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:.5rem;align-items:end;width:100%;min-width:0;flex:1 1 auto}.time-grid.compact .time-phase__pair .form-field{display:flex;flex-direction:column;align-items:stretch;gap:.1rem;min-width:0}.time-grid.compact .time-phase__pair .form-field>span:not(.time-native-field){position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;text-transform:uppercase;letter-spacing:.05em;font-size:var(--rappo-caption);font-weight:700;color:#94a3b8;line-height:1;text-align:center}.time-grid.compact .time-phase__arrow{display:inline-flex;align-items:center;justify-content:center;color:#94a3b8;font-size:1rem;opacity:.7;align-self:center;padding:0;height:32px;line-height:1}.time-grid.compact .time-phase__hint,.time-grid.compact .time-phase[data-phase=lavoro] .time-phase__duration,.time-grid.compact .time-phase[data-phase=pausa] .time-phase__duration{display:none}.time-grid.compact .time-phase__duration{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:38px;padding:.18rem .42rem;font-size:.66rem;font-weight:700;color:#1d4ed8;background:#3b82f629;border-radius:.4rem;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.time-grid.compact .time-phase__duration.is-empty{visibility:hidden}.time-grid.compact .time-native-field{display:block;position:relative;width:100%;min-width:0;min-height:36px}.time-grid.compact .time-native-field__value,.time-grid.compact .time-native-field__placeholder{display:none}@media(max-width:960px){.time-grid.compact .form-field__label{display:block;text-transform:uppercase;letter-spacing:.05em;font-size:var(--rappo-caption);font-weight:700;color:#94a3b8;line-height:1;text-align:center;margin:0 0 .15rem}.time-grid.compact .time-native-field{display:block;position:relative;width:100%;min-height:32px}.time-grid.compact .time-native-field__placeholder,.time-grid.compact .time-native-field__value{display:none}.time-grid.compact .time-native-field input[type=time],.time-grid.compact .time-native-field .time-manual-input{position:static;width:100%;height:auto;min-height:32px;padding:.25rem .3rem;font-size:var(--rappo-time);font-weight:700;border:0;background:transparent;box-shadow:none;color:#0f172a;opacity:1;text-align:center;cursor:text;font-variant-numeric:tabular-nums;-webkit-appearance:none;appearance:none}.time-grid.compact .time-native-field input[type=time]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.time-grid.compact .time-phase[data-phase=viaggio] .time-phase__card{gap:.5rem;padding-top:.4rem;padding-bottom:.3rem}.time-grid.compact .time-phase[data-phase=viaggio] .time-travel-bar{padding-top:.15rem}}.time-grid.compact .time-native-field input[type=time],.time-grid.compact .time-native-field .time-manual-input,.time-grid.compact .time-phase--single .form-field input[type=time],.time-grid.compact .time-phase--single .form-field .time-manual-input{position:static;width:100%;min-width:0;box-sizing:border-box;min-height:36px;padding:.28rem .4rem;font-size:var(--rappo-time);font-weight:700;border:0;background:transparent;box-shadow:none;color:#0f172a;letter-spacing:.02em;opacity:1;text-align:center;cursor:text;font-variant-numeric:tabular-nums}.time-grid.compact .time-native-field input[type=time]:focus,.time-grid.compact .time-native-field .time-manual-input:focus,.time-grid.compact .time-phase--single .form-field input[type=time]:focus,.time-grid.compact .time-phase--single .form-field .time-manual-input:focus{outline:none;background:#ffffffb3;border-radius:.4rem}.time-grid.compact .time-native-field input[type=time]::-webkit-date-and-time-value{text-align:center;margin:0 auto}.time-grid.compact .time-native-field input[type=time]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.time-grid.compact .time-native-field input[type=time]::-webkit-datetime-edit{display:inline-block;width:100%;text-align:center;padding:0}.time-grid.compact .time-native-field input[type=time]::-webkit-datetime-edit-fields-wrapper{display:inline-flex;justify-content:center;align-items:center;width:100%}.time-grid.compact .time-native-field input[type=time]::-webkit-datetime-edit-hour-field,.time-grid.compact .time-native-field input[type=time]::-webkit-datetime-edit-minute-field,.time-grid.compact .time-native-field input[type=time]::-webkit-datetime-edit-text{text-align:center}.rapportino-summary__breakdown{display:none}.time-travel-bar{position:relative;width:100%;padding:.3rem .35rem .25rem;min-width:0}.time-travel-segments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;width:100%}.time-travel-segment{min-width:0;min-height:36px;border:1px solid rgba(59,130,246,.24);border-radius:.55rem;background:#ffffffd1;color:#64748b;padding:.35rem .25rem;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background .15s ease,border-color .15s ease,color .15s ease}.time-travel-segment.is-active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.time-travel-segment:hover{border-color:#1d4ed88c;color:#1d4ed8}.time-travel-segment.is-active:hover{color:#fff}.time-clock{display:none}.time-grid.compact label,.cost-grid label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%;gap:.25rem}.time-grid.compact label span,.cost-grid label span{font-size:.82rem;color:#0f172a;min-width:95px;font-weight:700}.time-grid.compact input,.cost-grid input{width:115px;min-width:115px;text-align:right;font-size:.85rem}.time-grid.compact label span,.cost-grid label span{white-space:normal;word-break:break-word}.time-grid .form-field,.cost-grid .form-field{flex-direction:row;align-items:center;gap:.5rem}.time-grid .form-field span,.cost-grid .form-field span{min-width:0;font-size:.8rem;display:inline-flex;align-items:center;font-weight:700;color:#0f172a}.time-grid .form-field input,.cost-grid .form-field input{border:none;border-bottom:1px solid #cfd6e5;background:transparent;padding-bottom:.25rem;padding-top:.05rem;width:120px;font-size:.82rem;max-width:120px;text-align:right}.time-grid .form-field input:focus,.cost-grid .form-field input:focus{outline:none;border-bottom-color:var(--brand-primary);box-shadow:0 1px #2364ae33}.time-grid input[type=time],.time-grid .time-manual-input{text-align:right;font-family:inherit;font-weight:600;color:#0f172a}.time-grid input[type=time]::-webkit-date-and-time-value{text-align:inherit}.time-grid input[type=time]::-webkit-datetime-edit,.time-grid input[type=time]::-webkit-datetime-edit-fields-wrapper{width:100%;text-align:inherit}.time-grid .form-field .time-trigger{border:none;border-bottom:1px solid #cfd6e5;background:transparent;padding:.05rem 0 .25rem;font-size:.82rem;width:120px;max-width:120px;text-align:right;font-weight:600;color:#0f172a;cursor:pointer;font-family:inherit;letter-spacing:.02em}.time-grid .form-field .time-trigger.is-empty{color:#94a3b8;font-weight:500;text-align:center}.time-grid .form-field .time-trigger:focus-visible,.time-grid .form-field .time-trigger:active{outline:none;border-bottom-color:var(--brand-primary)}.time-picker-backdrop{position:fixed;inset:0;background:#0f172a73;z-index:1100;display:flex;align-items:flex-end;justify-content:center;animation:timePickerFade .15s ease}.time-picker-sheet{background:#fff;width:100%;max-width:320px;border-radius:14px 14px 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -8px 28px #0f172a2e;animation:timePickerSlide .2s ease;padding-bottom:env(safe-area-inset-bottom)}@media(min-width:480px){.time-picker-backdrop{align-items:center}.time-picker-sheet{border-radius:14px}}.time-picker-header{display:flex;align-items:center;justify-content:space-between;padding:.55rem .6rem .55rem .85rem;border-bottom:1px solid #e2e8f0}.time-picker-title{font-weight:700;font-size:.88rem;color:#0f172a}.time-picker-close{border:none;background:transparent;font-size:1.35rem;line-height:1;color:#475569;cursor:pointer;padding:.2rem .5rem;border-radius:6px}.time-picker-close:hover{background:#f1f5f9}.time-picker-list{overflow-y:auto;display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem;padding:.5rem;max-height:230px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.time-picker-option{border:1px solid transparent;background:#f8fafc;font-family:inherit;font-size:.85rem;color:#0f172a;padding:.45rem .2rem;text-align:center;cursor:pointer;border-radius:6px;font-variant-numeric:tabular-nums;letter-spacing:.02em;transition:background .1s ease,color .1s ease,border-color .1s ease}.time-picker-option:hover{background:#e2e8f0}.time-picker-option.is-selected{background:#1d4ed8;color:#fff;border-color:#1d4ed8;font-weight:700}.time-picker-actions{display:flex;justify-content:flex-end;padding:.45rem .7rem;border-top:1px solid #e2e8f0}.time-picker-clear{border:1px solid #cbd5e1;background:#fff;color:#475569;font-family:inherit;font-size:.8rem;font-weight:600;padding:.35rem .85rem;border-radius:6px;cursor:pointer}.time-picker-clear:hover:not(:disabled){background:#f1f5f9}.time-picker-clear:disabled{opacity:.5;cursor:not-allowed}@keyframes timePickerFade{0%{opacity:0}to{opacity:1}}@keyframes timePickerSlide{0%{transform:translateY(100%)}to{transform:translateY(0)}}.rapportino-agent-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.rapportino-agent-label{font-size:.85rem;font-weight:700;color:#0f172a}.rapportino-agent-badge{display:inline-flex;align-items:center;gap:.55rem;padding:.3rem .85rem .3rem .4rem;background:#e7f0fb;color:#1d4f8a;border:1px solid #c7dbf3;border-radius:999px;font-weight:600;font-size:.88rem;line-height:1}.rapportino-agent-avatar{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--brand-primary, #2364ae);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.02em;flex-shrink:0}.cost-grid .form-field .input-affix{position:relative;display:inline-flex;align-items:center;width:120px;min-width:120px;max-width:120px}.cost-grid .form-field .input-affix__symbol{position:absolute;left:.55rem;top:50%;transform:translateY(-50%);color:#64748b;font-size:.85rem;font-weight:600;pointer-events:none;z-index:1}.cost-grid .form-field .input-affix input{width:100%;min-width:0;max-width:100%;padding-left:1.4rem;text-align:right}.rapportino-form .form-field input,.rapportino-form .form-field select{padding:.55rem .65rem;border-radius:.9rem}.rapportino-form .form-field input,.rapportino-form .form-field textarea,.rapportino-form .form-field select{border-radius:.9rem;font-size:.9rem}.rapportino-form .form-checkbox{display:inline-flex;align-items:center;gap:.45rem;min-height:34px;padding:0;border:none;background:transparent;color:#334155;font-weight:600;line-height:1;white-space:nowrap;cursor:pointer}.rapportino-form .form-checkbox:has(input:checked){color:#1d4f8a}.rapportino-form .form-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-width:16px;margin:0;border:1.5px solid #cbd5e1;border-radius:4px;background:#fff;cursor:pointer;position:relative;transition:background-color .15s ease,border-color .15s ease}.rapportino-form .form-checkbox input[type=checkbox]:checked{background:var(--brand-primary, #2364ae);border-color:var(--brand-primary, #2364ae)}.rapportino-form .form-checkbox input[type=checkbox]:checked:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.rapportino-form .form-checkbox span{display:inline-flex;align-items:center;gap:.4rem}.package-remaining-hint{color:#1d4f8a;font-style:normal;font-size:.78em;font-weight:700;line-height:1;padding:.28rem .55rem;border-radius:999px;background:#2364ae1f}.rapportino-summary{position:relative;background:linear-gradient(135deg,#fff,#f3f6fb);border:1px solid rgba(35,100,174,.12);border-radius:.7rem;padding:.55rem .85rem;display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;gap:.85rem;color:#0f172a;margin-top:0;box-shadow:0 4px 14px -10px #2364ae73;overflow:hidden}.rapportino-summary:before{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 50% -20%,rgba(35,100,174,.12),transparent 60%);pointer-events:none}.rapportino-summary__hero{position:relative;flex:0 0 auto;order:2;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.05rem;text-align:right;padding-left:.85rem;border-left:1px solid rgba(35,100,174,.18)}.rapportino-summary__hero-label{font-size:var(--rappo-caption);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#2364aed9;line-height:1}.rapportino-summary__hero-value{font-size:var(--rappo-hero);font-weight:800;line-height:1.05;background:linear-gradient(135deg,#2364ae,#4a8fd9);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.01em}.rapportino-summary__chips{display:none}.rapportino-summary__breakdown{position:relative;order:1;display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;min-width:0;gap:.25rem 1.2rem}@media(max-width:768px){.rapportino-summary{padding:.45rem .7rem;gap:.55rem}.rapportino-summary__hero{padding-left:.55rem}.rapportino-summary__breakdown{gap:.2rem .7rem}.rapportino-summary__breakdown-row:not(:last-child):after{right:-.4rem}.rapportino-summary__breakdown-label{font-size:var(--rappo-caption)}.rapportino-summary__breakdown-value{font-size:var(--rappo-body)}.rapportino-summary__breakdown-hint{display:none}}@media(max-width:420px){.rapportino-summary{flex-direction:column;align-items:stretch;gap:.35rem;padding:.4rem .7rem}.rapportino-summary__breakdown{justify-content:center;border-bottom:1px solid rgba(35,100,174,.18);padding-bottom:.35rem}.rapportino-summary__hero{flex-direction:row;align-items:center;justify-content:space-between;padding-left:0;border-left:0;text-align:left;width:100%}.rapportino-summary__hero-label{text-align:left}}.rapportino-summary__breakdown-row{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;white-space:nowrap;line-height:1;position:relative}.rapportino-summary__breakdown-row:not(:last-child):after{content:"";position:absolute;right:-.6rem;top:50%;transform:translateY(-50%);width:1px;height:22px;background:linear-gradient(180deg,transparent 0%,#e2e8f0 25%,#e2e8f0 75%,transparent 100%)}.rapportino-summary__breakdown-label{text-transform:uppercase;letter-spacing:.08em;font-size:var(--rappo-caption);font-weight:700;color:#94a3b8;line-height:1}.rapportino-summary__breakdown-value{display:inline-flex;align-items:baseline;gap:.3rem;font-size:var(--rappo-value);font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.01em}.rapportino-summary__breakdown-hint{font-style:normal;font-weight:500;color:#94a3b8;font-size:var(--rappo-small);letter-spacing:0}.rapportino-summary__breakdown-row--accent .rapportino-summary__breakdown-value{color:#2364ae}.rapportino-summary__breakdown-row--accent .rapportino-summary__breakdown-label{color:#2364aed9}.rapportino-summary__chips,.rapportino-summary__chip{display:none!important}.preset-actions{align-items:center}.preset-actions label{display:flex;flex-direction:column;gap:.25rem;font-weight:600;color:#0f172a}.preset-actions-row{display:flex;gap:.4rem;margin-top:.8rem;align-items:center;flex-wrap:wrap}.preset-actions-row button{flex:1;min-width:120px}.rapportino-footer-secondary-panel{display:none}.compact-button{font-size:.8rem;padding:.35rem .9rem;min-height:38px}.modal.rapportino-modal{max-width:min(960px,calc(100vw - 2rem));width:100%;padding:1rem;border-radius:1rem;max-height:calc(100vh - 2.5rem);overflow-y:auto;position:relative}@media(max-height:860px),(max-width:960px){.modal.rapportino-modal{width:min(960px,calc(100vw - 1rem));max-width:min(960px,calc(100vw - 1rem));padding:.6rem;border-radius:.85rem;max-height:calc(100dvh - 1rem)}.modal.rapportino-modal .modal-body,.rapportino-layout{gap:.45rem}.rapportino-basic,.rapportino-times-costs,.rapportino-summary-panel{padding:.55rem .7rem;gap:.35rem;border-radius:.75rem}.rapportino-form .rapportino-notes{min-height:48px;padding:.45rem .6rem}.time-grid,.cost-grid{column-gap:.8rem;row-gap:.2rem}.time-grid .form-field,.cost-grid .form-field{gap:.35rem}.rapportino-summary{padding:.55rem .7rem;gap:.45rem;border-radius:.8rem}.rapportino-summary__hero-value{font-size:clamp(1.35rem,5vw,1.65rem)}.rapportino-summary__chip{padding:.24rem .55rem;font-size:.74rem}.preset-actions-row{margin-top:.35rem}.preset-actions-row .secondary-button,.preset-actions-row .secondary-button.compact-button{min-height:32px;padding:.3rem .8rem}.rapportino-modal .rapportino-form-actions{position:sticky;bottom:-.6rem;margin:.4rem -.6rem -.6rem;padding:.55rem .7rem calc(.55rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #e2e8f0;box-shadow:0 -3px 14px #0f172a14;z-index:5;flex-wrap:nowrap;gap:.5rem}}@media(max-width:768px){.rapportino-modal .rapportino-form-actions{justify-content:space-between;flex-wrap:nowrap;align-items:center;gap:.4rem}.rapportino-modal .rapportino-form-actions .rapportino-agent-badge--footer{display:inline-flex;font-size:var(--rappo-small);padding:.2rem .55rem .2rem .3rem;gap:.4rem;flex:1 1 auto;min-width:0;justify-content:flex-start;align-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rapportino-modal .rapportino-form-actions .rapportino-agent-badge--footer .rapportino-agent-avatar{width:22px;height:22px;font-size:var(--rappo-caption);flex:0 0 auto}.rapportino-modal .rapportino-form-actions .rapportino-form-actions__buttons{margin:0;flex:0 0 auto;justify-content:flex-end}}@media(max-width:960px){.modal.rapportino-modal{width:min(1120px,calc(100vw - .5rem));max-width:min(1120px,calc(100vw - .5rem));padding:.75rem;border-radius:.85rem;max-height:calc(100dvh - .5rem);overflow-y:auto;position:relative}.rapportino-form .rapportino-notes{min-height:68px;padding:.6rem .75rem}}@media(min-width:769px){.rapportino-modal-overlay{overflow:hidden!important;overflow-y:hidden!important}.modal.rapportino-modal{overflow:hidden!important;overflow-y:hidden!important;scrollbar-width:none}.modal.rapportino-modal::-webkit-scrollbar{display:none}.modal.rapportino-modal .modal-body{overflow:hidden}}@media(min-width:961px){.rapportino-modal-overlay{align-items:center;justify-content:center;padding:.6rem;overflow:hidden}.modal.rapportino-modal{display:flex;flex-direction:column;width:min(1080px,calc(100vw - 1.2rem));max-width:min(1080px,calc(100vw - 1.2rem));height:auto;max-height:calc(100dvh - 1.2rem);padding:.7rem .7rem .55rem;overflow:hidden;border-radius:1.05rem;background:#f1f5f9}.modal.rapportino-modal .modal-body{flex:1 1 auto;min-height:0;gap:0;overflow:hidden}.rapportino-modal .rapportino-form{display:grid;grid-template-rows:auto auto auto;align-content:start;gap:.5rem;flex:1 1 auto;min-height:0;overflow:hidden;padding:0}.rapportino-main-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}.rapportino-main-panel>fieldset{display:flex;flex-direction:column;flex:0 0 auto;min-height:0;gap:.5rem;overflow:hidden}.rapportino-layout{display:grid;grid-template-columns:minmax(0,1fr) 400px;align-items:stretch;flex:0 0 auto;min-height:0;gap:.5rem;overflow:hidden}.rapportino-times-costs .rapportino-summary{margin-top:auto}.rapportino-basic,.rapportino-times-costs{min-width:0;min-height:0;width:100%;padding:.6rem .75rem;gap:.45rem;border-radius:.7rem;border:0;background:#fff;box-shadow:0 1px 2px #0f172a0a;overflow:hidden}.rapportino-basic{min-height:0}.rapportino-basic{display:flex;flex-direction:column}.rapportino-basic .full{display:flex;flex-direction:column;flex:1 1 0;min-height:0;background:#f8fafc;border-radius:.55rem;padding:.4rem .55rem;gap:.15rem;position:relative}.rapportino-basic .full:before{content:"DESCRIZIONE";text-transform:uppercase;letter-spacing:.05em;font-size:.58rem;font-weight:700;color:#94a3b8;line-height:1}.rapportino-basic .full>textarea,.rapportino-form .rapportino-notes{flex:1 1 0;height:auto;min-height:70px;max-height:none;padding:0;background:transparent;border:0;box-shadow:none;overflow-y:auto;resize:none;font-size:.92rem;font-weight:500;color:#0f172a;line-height:1.4}.rapportino-basic .full>textarea:focus,.rapportino-form .rapportino-notes:focus{outline:none;box-shadow:none}.rapportino-basic .full:focus-within{background:#f1f5f9}.rapportino-client-search input[type=search],.rapportino-form .rapportino-client-search input[type=search]{border:0;background:#f8fafc;border-radius:.55rem;padding:.45rem .7rem;font-size:.95rem;font-weight:600;color:#0f172a;width:100%;box-shadow:none}.rapportino-client-search input[type=search]:focus,.rapportino-form .rapportino-client-search input[type=search]:focus{outline:none;background:#f1f5f9;box-shadow:none}.rapportino-client-search input[type=search]::placeholder{color:#94a3b8;font-weight:500}.rapportino-times-costs{justify-content:flex-start;gap:.38rem}.rapportino-tratta-row{grid-template-columns:minmax(0,1fr) 82px;gap:.45rem}.rapportino-flags{flex-wrap:wrap;gap:.35rem .55rem;row-gap:.25rem}.rapportino-form .form-checkbox{min-height:26px}.time-grid.compact{display:flex;flex-direction:column;gap:.34rem;padding:0;width:100%}.time-grid.compact .time-phase{display:flex;flex-direction:column;gap:.2rem;min-width:0;padding:0}.time-grid.compact .time-phase__card{position:relative;display:flex;align-items:center;column-gap:.55rem;min-width:0;width:100%;padding:.35rem .6rem;border-radius:.6rem;background:transparent}.time-grid.compact .time-phase[data-phase=lavoro] .time-phase__card{background:#10b98112}.time-grid.compact .time-phase[data-phase=pausa] .time-phase__card{background:#f59e0b12}.time-grid.compact .time-phase[data-phase=viaggio] .time-phase__card{background:#3b82f612;align-items:center}.time-grid.compact .time-phase[data-phase=lavoro] .time-phase__card .time-phase__pair,.time-grid.compact .time-phase[data-phase=pausa] .time-phase__card .time-phase__pair{flex:1 1 auto}.time-grid.compact .time-phase__title{display:none}.time-grid.compact .time-phase__pair{display:grid;grid-template-columns:minmax(110px,max-content) auto minmax(110px,max-content);justify-content:center;align-items:end;column-gap:1rem;min-width:0;width:100%}.time-grid.compact .time-phase__pair .form-field{display:flex!important;flex-direction:column!important;align-items:center!important;gap:.15rem;min-width:0;width:100%}.time-grid.compact .time-phase__pair .form-field>span:not(.time-native-field){display:block;width:100%}.time-grid.compact .time-phase__pair .form-field .time-native-field{width:100%}.time-grid.compact .time-phase__pair .time-phase__arrow{display:inline-flex;align-self:end;padding-bottom:.5rem}.time-grid.compact .time-native-field{display:block;position:relative;width:100%;min-width:0}.time-grid.compact .time-native-field__value{display:none}.time-grid.compact .time-native-field input[type=time],.time-grid.compact .time-native-field .time-manual-input,.time-grid.compact .time-phase--single .form-field input[type=time],.time-grid.compact .time-phase--single .form-field .time-manual-input{position:static;width:100%;min-width:0;box-sizing:border-box;min-height:40px;padding:.3rem .4rem;font-size:var(--rappo-time);font-weight:700;border:0;background:transparent;box-shadow:none;color:#0f172a;letter-spacing:.02em;opacity:1;text-align:center;cursor:text;font-variant-numeric:tabular-nums}.time-grid.compact .time-native-field input[type=time]:focus,.time-grid.compact .time-native-field .time-manual-input:focus,.time-grid.compact .time-phase--single .form-field input[type=time]:focus,.time-grid.compact .time-phase--single .form-field .time-manual-input:focus{outline:none;background:#ffffffb3;border-radius:.4rem}.time-grid.compact .time-native-field input[type=time]::-webkit-date-and-time-value{text-align:center}.time-grid.compact .time-native-field input[type=time]::-webkit-calendar-picker-indicator{display:none;-webkit-appearance:none}.time-grid.compact .time-native-field input[type=time]::-webkit-datetime-edit{text-align:center;padding:0}.time-grid.compact .time-phase__pair .form-field>span:not(.time-native-field){position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;text-transform:uppercase;letter-spacing:.05em;font-size:.58rem;font-weight:700;color:#94a3b8;line-height:1;text-align:center}.time-grid.compact .time-phase__arrow{color:#94a3b8;font-size:.85rem;opacity:.7;align-self:end;padding-bottom:.45rem}.time-grid.compact .time-phase[data-phase=lavoro] .time-phase__duration,.time-grid.compact .time-phase[data-phase=pausa] .time-phase__duration{display:none}.time-grid.compact .time-phase__duration{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:36px;padding:.16rem .42rem;font-size:.66rem;font-weight:700;color:#1d4ed8;background:#3b82f629;border-radius:.35rem;font-variant-numeric:tabular-nums;line-height:1.1;white-space:nowrap}.time-grid.compact .time-phase__duration.is-empty{visibility:hidden}.time-grid.compact .time-phase[data-phase=viaggio] .time-travel-bar{flex:1 1 auto;min-width:0;padding:.32rem .25rem .14rem}.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:0}.cost-grid .form-field{display:flex;flex-direction:column;gap:.15rem;min-width:0;padding:.35rem .55rem .4rem;background:#f8fafc;border-radius:.55rem;border:0}.cost-grid .form-field:focus-within{background:#f1f5f9}.cost-grid .form-field>span{position:static;width:auto;height:auto;margin:0;padding:0;overflow:visible;clip:auto;text-transform:uppercase;letter-spacing:.05em;font-size:.58rem;font-weight:700;color:#94a3b8;line-height:1}.cost-grid .form-field .input-affix{min-height:26px;width:100%;min-width:0;max-width:none;border:0;background:transparent;box-shadow:none;padding:0}.cost-grid .form-field .input-affix__symbol{color:#64748b;font-weight:600}.cost-grid .form-field .input-affix input{min-height:24px;font-size:1rem;font-weight:700;color:#0f172a;background:transparent;border:0;box-shadow:none;padding:0 0 0 1rem;font-variant-numeric:tabular-nums}.cost-grid .form-field .input-affix input:focus{outline:none;background:transparent;box-shadow:none}.rapportino-summary{flex:0 0 auto;display:flex;flex-direction:row;align-items:stretch;justify-content:space-between;min-height:0;margin:0;padding:.55rem .9rem;gap:1rem;overflow:hidden}.rapportino-summary__hero{flex:0 0 auto;order:2;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;padding:0 0 0 1rem;border:0;border-left:1px solid rgba(35,100,174,.18);text-align:right;gap:.05rem}.rapportino-summary__hero-label{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#2364aed9;line-height:1}.rapportino-summary__hero-value{font-size:clamp(1.4rem,2.2vw,1.75rem);line-height:1.05}.rapportino-summary__chips{display:none}.rapportino-summary__breakdown{order:1;display:flex;flex:1 1 auto;flex-wrap:wrap;align-items:center;min-width:0;gap:.25rem 1.4rem;padding-right:.2rem}.rapportino-summary__breakdown-row{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;white-space:nowrap;line-height:1;position:relative}.rapportino-summary__breakdown-row:not(:last-child):after{content:"";position:absolute;right:-.7rem;top:50%;transform:translateY(-50%);width:1px;height:22px;background:linear-gradient(180deg,transparent 0%,#e2e8f0 25%,#e2e8f0 75%,transparent 100%)}.rapportino-summary__breakdown-label{text-transform:uppercase;letter-spacing:.08em;font-size:.6rem;font-weight:700;color:#94a3b8;line-height:1}.rapportino-summary__breakdown-value{display:inline-flex;align-items:baseline;gap:.3rem;font-size:.95rem;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.01em}.rapportino-summary__breakdown-hint{margin-left:0;font-style:normal;font-weight:500;color:#94a3b8;font-size:.72rem;letter-spacing:0}.rapportino-summary__breakdown-row--accent .rapportino-summary__breakdown-value{color:#2364ae}.rapportino-summary__breakdown-row--accent .rapportino-summary__breakdown-label{color:#2364aed9}.rapportino-signature-section{flex:0 0 auto;margin:0;border:0;border-radius:.7rem;background:#fff;box-shadow:0 1px 2px #0f172a0a;min-height:0}.rapportino-signature-section__toggle{min-height:30px;padding:.22rem .6rem;gap:.45rem}.rapportino-signature-section:not(.is-open){height:32px}.rapportino-signature-section:not(.is-open) .rapportino-signature-section__toggle{height:30px}.rapportino-signature-section__title{font-size:.8rem;line-height:1.1}.rapportino-signature-section__summary{gap:.35rem}.rapportino-signature-empty,.rapportino-signature-badge,.rapportino-signature-sent-mini{font-size:.74rem;line-height:1}.rapportino-signature-section__chevron{margin-left:.25rem;font-size:.72rem}.rapportino-signature-section__body{max-height:132px;overflow-y:auto}.rapportino-modal .rapportino-form-actions{position:static;flex:0 0 auto;flex-wrap:nowrap;align-items:center;margin:0;padding:.35rem .7rem;border:0;border-radius:.7rem;box-shadow:0 1px 2px #0f172a0a;background:#fff;gap:.55rem}.rapportino-mobile-secondary-panel{display:none}.rapportino-footer-secondary-panel{display:flex;flex:1 1 360px;min-width:260px;max-width:410px;flex-direction:column;gap:.22rem}.rapportino-footer-secondary-panel .preset-actions-row{width:100%;margin-top:0;flex-wrap:nowrap}.rapportino-footer-secondary-panel .preset-actions-row button{min-width:0;min-height:30px;padding:.22rem .6rem;font-size:.78rem}.rapportino-form-actions__buttons{flex:0 0 auto}.rapportino-form-actions__buttons .icon-button{width:50px;height:50px;min-width:50px;min-height:50px;border-radius:.9rem}.rapportino-form-actions__buttons .icon-button .icon-button__icon{width:28px;height:28px}}@media(min-width:961px)and (min-height:860px){.modal.rapportino-modal{height:auto}.rapportino-basic .full>textarea,.rapportino-form .rapportino-notes{min-height:120px}}@media(min-width:961px)and (max-height:760px){.modal.rapportino-modal{height:auto;padding:.5rem .6rem .45rem}.rapportino-layout{gap:.45rem}.rapportino-basic,.rapportino-times-costs{padding:.5rem .6rem;gap:.3rem}.rapportino-basic .full>textarea,.rapportino-form .rapportino-notes{min-height:100px}.rapportino-summary{min-height:56px;padding:.42rem .65rem}.rapportino-signature-section__toggle{padding:.36rem .65rem}.rapportino-modal .rapportino-form-actions{padding-top:.38rem}}@media(min-width:1180px){.modal.rapportino-modal{width:min(1120px,calc(100vw - 1.4rem));max-width:min(1120px,calc(100vw - 1.4rem))}.rapportino-layout{grid-template-columns:minmax(0,1fr) 440px}}.client-form .form-row--contract,.client-form .form-row--dates,.user-form .form-row--contract,.user-form .form-row--dates{grid-template-columns:repeat(2,minmax(0,1fr))}.packages-modal .client-form .form-row--dates{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:900px){.client-form .form-row--primary,.user-form .form-row--primary{grid-template-columns:1fr}.packages-modal .client-form .form-row--dates{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.client-form .form-row--contract,.client-form .form-row--dates,.user-form .form-row--contract,.user-form .form-row--dates,.packages-modal .client-form .form-row--dates{grid-template-columns:1fr}}.time-grid,.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:768px){.time-grid,.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rapportino-tratta-row{grid-template-columns:minmax(0,2fr) minmax(96px,.8fr);align-items:end}.time-grid{row-gap:.35rem}.time-grid.compact label span,.cost-grid label span{white-space:nowrap}.time-grid.compact label,.cost-grid label{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.25rem;min-width:0;overflow:hidden}.time-grid .form-field span,.cost-grid .form-field span{font-size:.58rem;line-height:1}.cost-grid{gap:.3rem;column-gap:.3rem;row-gap:.3rem}.cost-grid .form-field{padding:.25rem .45rem .3rem;border-radius:.45rem;gap:.08rem}.cost-grid .form-field>span{font-size:var(--rappo-caption)}.cost-grid .form-field .input-affix{width:100%;min-width:0;max-width:none;min-height:22px}.cost-grid .form-field .input-affix input{width:100%;min-width:0;max-width:none;font-family:inherit;font-size:var(--rappo-body);font-weight:700;color:#0f172a;padding-left:.85rem;min-height:20px}.time-grid .form-field input[type=time],.time-grid .form-field .time-manual-input{-webkit-appearance:none;appearance:none;box-sizing:border-box;min-height:34px;width:100%;min-width:0;max-width:none;inline-size:100%;padding:.32rem .65rem;border:1px solid #cfd6e5;border-radius:.8rem;background:#fff;text-align:center;font-family:inherit;font-size:.82rem;font-weight:600;color:#0f172a}.time-grid .form-field .time-native-field{position:relative;display:block;min-height:32px;width:100%;min-width:0;max-width:none;padding:0;border:0;border-radius:0;background:transparent;box-sizing:border-box;overflow:visible}.time-grid .form-field .time-native-field__value,.time-grid .form-field .time-native-field__placeholder{display:none}.time-grid .form-field .time-native-field input[type=time],.time-grid .form-field .time-native-field .time-manual-input{position:static;inset:auto;width:100%;height:auto;min-height:32px;padding:.25rem .3rem;border:0;opacity:1;color:#0f172a;background:transparent;cursor:text;text-align:center}.time-grid .form-field input[type=time]::-webkit-date-and-time-value{text-align:center}.time-grid .form-field input[type=time]::-webkit-datetime-edit,.time-grid .form-field input[type=time]::-webkit-datetime-edit-fields-wrapper{width:100%;text-align:center}.cost-grid .form-field .input-affix input{min-height:34px;padding-top:.32rem;padding-bottom:.32rem}}.client-form .form-column,.user-form .form-column{display:flex;flex-direction:column;gap:.8rem}.client-form .form-column--narrow .form-field input,.user-form .form-column--narrow .form-field input{max-width:220px}.client-form .form-field,.user-form .form-field{display:flex;flex-direction:column;gap:.25rem;width:100%}.client-form label,.user-form label{font-size:.85rem;color:#475569}.client-form input[type=text],.client-form input[type=number],.client-form input[type=date],.client-form textarea,.client-form input[type=color],.user-form input[type=text],.user-form input[type=number],.user-form input[type=date],.user-form input[type=color],.user-form input[type=email],.user-form input[type=password],.user-form select{border:1px solid #cbd5f5;border-radius:.75rem;padding:.55rem .75rem;font-size:.95rem;width:100%;background:#fff}.user-form select{min-height:44px}.client-form textarea{min-height:110px;resize:vertical;font-family:inherit}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.client-form input[type=color],.user-form input[type=color]{height:40px;padding:.15rem}.client-form .color-field,.user-form .color-field{align-items:flex-start}.client-form .color-field input[type=color],.user-form .color-field input[type=color]{width:72px;height:34px;padding:.1rem;border-radius:.6rem;align-self:flex-start}.client-form .form-actions,.user-form .form-actions{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.rapportino-form .form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.25rem}.packages-modal .client-form .form-actions{justify-content:flex-end}.rapportino-form .form-actions button{font-size:.85rem;padding:.45rem 1rem}.icon-button{border-radius:.75rem;padding:.35rem .6rem;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem}.icon-button .icon-button__icon{width:20px;height:20px;display:inline-flex}.icon-button svg{width:100%;height:100%}.icon-button.is-loading{opacity:.7}.icon-button{position:relative}.icon-button:after{content:attr(data-hint);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%,4px);padding:.25rem .6rem;font-size:.75rem;line-height:1;border-radius:.5rem;background:#0f172ae6;color:#fff;pointer-events:none;opacity:0;transition:opacity .15s ease,transform .15s ease;white-space:nowrap;z-index:5}.icon-button:hover:after,.icon-button:focus-visible:after{opacity:1;transform:translate(-50%)}.sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.danger-button{background:#dc2626}.danger-button:hover:not(:disabled){box-shadow:0 8px 20px #dc262659}.add-client-btn{width:44px;height:44px;border-radius:.9rem;border:none;background:var(--brand-primary);color:#fff;font-size:1.5rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:box-shadow .2s ease,transform .2s ease}.add-client-btn:hover{transform:translateY(-1px);box-shadow:0 10px 25px #2563eb59}.client-form .form-checkbox,.user-form .form-checkbox{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#475569}.client-form .form-checkbox input,.user-form .form-checkbox input{width:18px;height:18px}@media(max-width:980px){.smtp-settings__field,.smtp-settings__field--port,.smtp-settings__field--from,.smtp-settings__secure-inline{grid-column:span 6}}@media(max-width:700px){.smtp-settings__grid{grid-template-columns:1fr}.smtp-settings__field,.smtp-settings__field--port,.smtp-settings__field--from,.smtp-settings__secure-inline{grid-column:auto}.smtp-settings__secure-inline{padding-bottom:0}}.form-message{border-radius:.75rem;padding:.6rem .8rem;font-size:.85rem}.form-message.error{background:#fee2e2;color:#991b1b}.form-message.success{background:#dcfce7;color:#166534}@media(max-width:932px){.app-shell{padding:1rem}.dashboard{flex-direction:column}.sidebar{width:100%;flex-direction:column;align-items:stretch;gap:.75rem;padding-inline:.75rem}.sidebar.collapsed{width:100%}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:.4rem;justify-content:center;margin:0}.sidebar nav button{min-width:120px;justify-content:center}.sidebar .sidebar__head{justify-content:flex-start}.sidebar .logout-btn{width:100%}.main-content{padding:1.25rem;max-width:100vw;min-width:0;overflow-x:hidden;box-sizing:border-box}.services-page,.calendar-page,.clients-page,.packages-page,.timesheet-page{max-width:100%;min-width:0;overflow-x:hidden}.main-content:has(.mobile-month--day),.calendar-page:has(.mobile-month--day){overflow:clip}.services-365-summary,.services-365-card,.services-layout,.client-details{max-width:100%;min-width:0;overflow-x:hidden;box-sizing:border-box}.app-shell{max-width:100vw;overflow-x:hidden;box-sizing:border-box}.dashboard{max-width:100%;min-width:0}.calendar-header{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:.6rem}.calendar-header .header-actions{width:100%;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem}.calendar-header .header-actions-left{flex:1 1 auto;min-width:0;flex-direction:row;align-items:center;justify-content:flex-start;gap:.5rem}.calendar-header .header-actions-left .user-picker{flex:1 1 auto;width:auto;min-width:0}.calendar-header .add-rapportino-btn{flex:0 0 auto;width:48px;min-width:48px;max-width:48px;height:44px;padding:0}.clients-page header{flex-direction:column;align-items:stretch}.clients-page header>div:first-child{width:100%}.clients-actions{width:100%;max-width:none;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-start}.clients-actions .clients-search{flex:1 1 100%}.clients-actions .clients-icon-button{flex:0 0 auto}.clients-actions .search-input{grid-column:1 / -1;width:100%}.clients-actions .add-client-btn,.clients-actions .multi-delete-toggle{width:100%;min-height:44px}.search-input,.sidebar.collapsed{width:100%}.sidebar.collapsed .nav-label{display:block}.sidebar.collapsed nav button,.sidebar.collapsed .logout-btn{justify-content:space-between;padding-inline:.5rem}.exports-header{flex-direction:column;align-items:flex-start}.exports-header button{width:100%}.exports-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.exports-card{padding:1rem;min-height:auto}.export-range{flex-direction:column}}.nav-icon{font-size:1.1rem;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;flex-shrink:0;position:relative}.nav-icon svg{width:20px;height:20px}.nav-badge{position:absolute;top:-6px;right:-10px;background:#dc2626;color:#fff;font-size:.62rem;font-weight:700;line-height:1;padding:2px 5px;border-radius:999px;min-width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border:2px solid #1f4f7f;pointer-events:none}.nav-badge--inline{display:none;position:static;margin-left:auto;border:none;font-size:.7rem;height:auto;padding:2px 7px}.sidebar:not(.collapsed) .nav-badge:not(.nav-badge--inline){display:none}.sidebar:not(.collapsed) .nav-badge--inline{display:inline-flex}.sidebar-search-trigger{display:flex;align-items:center;gap:.6rem;width:100%;margin:0 0 .75rem;padding:.55rem .75rem;background:#ffffff14;border:1px solid rgba(255,255,255,.22);border-radius:.75rem;color:#f8fbff;font:inherit;font-size:.85rem;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.sidebar-search-trigger:hover,.sidebar-search-trigger:focus-visible{background:#ffffff29;border-color:#fff6;color:#fff;outline:none}.sidebar-search-trigger .nav-label{flex:1;text-align:left;font-weight:600}.sidebar-search-trigger__kbd{background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:.35rem;padding:.05rem .4rem;font-size:.72rem;font-weight:600;color:#f8fbff;font-family:inherit}.sidebar.collapsed .sidebar-search-trigger{justify-content:center;padding:.55rem 0}.sidebar.collapsed .sidebar-search-trigger .nav-label,.sidebar.collapsed .sidebar-search-trigger__kbd{display:none}.command-palette__overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:12vh 1rem 1rem;animation:command-palette-fade .15s ease}@keyframes command-palette-fade{0%{opacity:0}to{opacity:1}}.command-palette{width:100%;max-width:560px;background:#fff;border-radius:1rem;box-shadow:0 24px 60px #0f172a59;overflow:hidden;display:flex;flex-direction:column;max-height:70vh}.command-palette__search{display:flex;align-items:center;gap:.6rem;padding:.85rem 1rem;border-bottom:1px solid #e2e8f0;color:#64748b}.command-palette__search input{flex:1;border:none;outline:none;font:inherit;font-size:1rem;color:#0f172a;background:transparent}.command-palette__kbd,.command-palette__foot kbd{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.35rem;padding:.05rem .35rem;font-size:.7rem;font-weight:600;color:#64748b;font-family:inherit}.command-palette__list{flex:1;overflow-y:auto;padding:.4rem 0}.command-palette__group{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;padding:.5rem 1rem .25rem;font-weight:600}.command-palette__item{display:flex;align-items:center;gap:.65rem;width:100%;padding:.55rem 1rem;background:transparent;border:none;font:inherit;text-align:left;cursor:pointer;color:#0f172a;transition:background .1s ease}.command-palette__item.active{background:#2563eb14}.command-palette__icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;color:#475569}.command-palette__item.active .command-palette__icon{color:#1d4ed8}.command-palette__label{flex:1;font-size:.92rem}.command-palette__hint{color:#94a3b8;font-size:.78rem}.command-palette__empty{padding:1.5rem 1rem;color:#64748b;text-align:center;font-size:.9rem}.command-palette__foot{display:flex;gap:1rem;padding:.55rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc;font-size:.72rem;color:#64748b}.command-palette__foot kbd{margin-right:.25rem}.sidebar.collapsed{width:90px}.sidebar.collapsed .user-pill{width:100%;text-align:center;text-transform:uppercase}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed nav button,.sidebar.collapsed .logout-btn{justify-content:center}@media(min-width:1025px){.dashboard{gap:1rem}.sidebar.collapsed{width:76px;max-height:calc(100vh - 2.4rem);padding:.65rem .5rem;border-radius:1rem;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.sidebar.collapsed::-webkit-scrollbar{width:0;height:0}.sidebar.collapsed .sidebar__head{margin:0 0 .55rem;padding:0 0 .55rem;border-bottom:1px solid rgba(255,255,255,.12)}.sidebar.collapsed .user-pill{width:44px;height:44px;font-size:1rem;border-radius:.75rem}.sidebar.collapsed nav,.sidebar.collapsed .sidebar-nav{flex:0 0 auto;gap:.4rem;margin-top:0;overflow:visible}.sidebar.collapsed .sidebar-nav__section{gap:.35rem}.sidebar.collapsed .sidebar-nav__section+.sidebar-nav__section{padding-top:.35rem;border-top:1px solid rgba(255,255,255,.1)}.sidebar.collapsed .sidebar-nav__section-label{display:none}.sidebar.collapsed nav button,.sidebar.collapsed .sidebar-nav button,.sidebar.collapsed .sidebar-nav__action,.sidebar.collapsed .sidebar-nav__logout,.sidebar.collapsed .logout-btn{min-height:38px;padding:.4rem 0;border-radius:.7rem;gap:.65rem;justify-content:center;box-shadow:none}.sidebar.collapsed .nav-icon{width:22px;height:22px}.sidebar.collapsed .nav-label{display:none}.sidebar.collapsed .sidebar__foot{gap:.4rem;margin-top:.4rem;padding-top:.4rem;border-top:1px solid rgba(255,255,255,.12)}}@media(max-width:768px){.app-shell{padding:.75rem}.dashboard{gap:.75rem}.sidebar{position:sticky;top:.5rem;z-index:30;background:linear-gradient(135deg,#0f172a,#1f2937);color:#e2e8f0;border:1px solid #1f2937;box-shadow:0 16px 36px #0f172a61;border-radius:1.1rem;padding:.75rem}.sidebar__head{width:100%;justify-content:space-between;gap:.5rem}.sidebar .user-pill{background:#ffffff14;color:#f8fafc}.sidebar nav,.sidebar-nav{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.45rem;padding:0;overflow:visible}.sidebar nav button,.sidebar-nav button,.sidebar-nav__action{min-width:0;height:auto;padding:.65rem .75rem;border-radius:.85rem;background:#ffffff14;border:1px solid rgba(255,255,255,.18);color:#f8fafc;box-shadow:0 12px 26px #00000047;justify-content:center}.sidebar nav button.active,.sidebar-nav button.active{background:linear-gradient(135deg,var(--brand-primary),var(--brand-primary-strong));color:#fff;box-shadow:0 14px 28px #2364ae59}.sidebar-nav__logout{background:#ef4444f2;color:#fff}.nav-label{display:inline;font-weight:700}.nav-icon{font-size:1.2rem}.main-content{border-radius:1.1rem;padding:1rem}.quick-range{width:100%;flex-wrap:wrap;overflow:visible;padding-bottom:0;scroll-snap-type:none}.quick-range button{flex:1 1 calc(50% - .35rem);min-height:44px;white-space:normal;text-align:center}.timesheet-range-panel{position:sticky;top:0;z-index:25;background:#f8fafcf5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #e2e8f0;border-radius:1rem;padding:.7rem .8rem}.revenue-range-panel{position:sticky;top:0;z-index:24;background:#f8fafcf5;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid #e2e8f0;border-radius:1rem;padding:.7rem .8rem}.range-filter{display:grid;grid-template-columns:1fr;gap:.65rem}.range-filter__controls{display:grid;grid-template-columns:minmax(0,1fr) 88px;grid-auto-rows:auto;gap:.55rem}.range-filter__controls>.range-filter__separator{display:none}.range-filter select,.range-filter input[type=number],.range-filter input[type=month]{min-height:44px}.range-filter select,.range-filter input[type=number]{width:100%;min-width:0}.revenue-range-nav{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;width:100%}.revenue-range-nav>.range-filter--inline{grid-column:1 / -1;grid-row:1;width:100%}.revenue-range-nav>button{grid-row:2;width:100%;min-height:44px}.user-filter-actions{flex-direction:column;align-items:stretch;gap:.65rem}.user-filter-actions__group,.user-filter-actions__toggles{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%}.user-filter-actions__group button{flex:1 1 calc(50% - .35rem);min-height:32px;padding:.3rem .7rem;border-radius:.45rem;font-size:.8rem}.user-filter-list{flex-wrap:wrap;overflow:visible;scroll-snap-type:none;padding-bottom:0}.user-chip{flex:1 1 calc(50% - .35rem);min-height:32px;white-space:normal;justify-content:center;border-radius:.5rem}.timesheet-kpis{grid-template-columns:1fr}.timesheet-kpi-card{min-height:76px;justify-content:center}.revenue-kpis{flex-direction:row;flex-wrap:wrap;gap:.5rem}.revenue-kpis>.revenue-kpi-card{flex:1 1 calc(50% - .3rem)}.costs-page .revenue-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.costs-page .revenue-kpis>.revenue-kpi-card{min-height:0;padding:.7rem .8rem;gap:.14rem}.costs-page .revenue-kpi-card small{font-size:.78rem;line-height:1.18}.costs-page .revenue-kpi-card strong{font-size:1.12rem;line-height:1.08;overflow-wrap:anywhere}.costs-page .revenue-kpi-card__hint,.costs-page .revenue-kpi-card>small:last-child:not(:first-child){margin-top:.18rem;font-size:.72rem;line-height:1.15}.details-panel{padding:1rem}.rapportino-inline,.rapportino-details-row{grid-template-columns:1fr}.rapportino-tratta-row{grid-template-columns:minmax(0,1fr) 64px;align-items:end;gap:.4rem}.rapportino-tratta-row .form-field:last-child input{text-align:center}.rapportino-flags{flex-wrap:wrap;gap:.6rem}.time-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.45rem}.cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cost-grid .form-field{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:.4rem;min-width:0}.time-grid .form-field,.time-grid .form-field input,.cost-grid .form-field input{width:100%;min-width:0;max-width:none;text-align:center;box-sizing:border-box}.time-grid .form-field input[type=time],.time-grid .form-field .time-manual-input{-webkit-appearance:none;appearance:none;inline-size:100%}.cost-grid input{min-width:0}.cost-grid .form-field .input-affix{width:100%;min-width:0;max-width:none}.time-grid.compact label span,.cost-grid label span{min-width:0}.rapportino-summary{padding:.5rem .65rem;gap:.4rem;margin-top:.35rem;border-radius:.75rem}.rapportino-summary__hero-label{font-size:.58rem;letter-spacing:.1em}.rapportino-summary__hero-value{font-size:clamp(1.25rem,5vw,1.55rem)}.rapportino-summary__chips{gap:.3rem}.rapportino-summary__chip{gap:.28rem;padding:.22rem .48rem;font-size:.7rem}.rapportino-summary__chip-icon{font-size:.78rem}.modal{width:100%;padding:1rem}.modal-body{gap:1rem}.modal-overlay:has(.rapportino-modal){padding:0;align-items:stretch;justify-content:stretch}.modal.rapportino-modal{width:100vw;max-width:100vw;min-height:100dvh;max-height:100dvh;height:100dvh;border-radius:0;align-self:stretch;padding:.6rem .6rem 0;padding-top:calc(.6rem + env(safe-area-inset-top));box-shadow:none}.rapportino-modal .modal-body{gap:.55rem;min-height:0}.rapportino-modal .rapportino-form{padding-bottom:calc(.8rem + env(safe-area-inset-bottom))}.rapportino-modal .rapportino-form-actions{position:static;margin:.3rem 0 0;padding:.25rem 0 calc(.65rem + env(safe-area-inset-bottom));background:transparent;border:0;box-shadow:none;justify-content:center;flex-wrap:nowrap;min-height:0}.rapportino-modal .rapportino-agent-badge--footer,.rapportino-modal .rapportino-footer-secondary-panel{display:none}.rapportino-modal .rapportino-form-actions__buttons{gap:.3rem;margin:0 auto;padding:.28rem;border:1px solid rgba(203,213,225,.72);border-radius:999px;background:#f8fafceb;box-shadow:0 10px 24px -18px #0f172a73}.rapportino-modal .rapportino-form-actions__buttons .icon-button{width:44px;height:44px;min-width:44px;min-height:44px;border-radius:999px;border:0;box-shadow:none}.rapportino-modal .rapportino-form-actions__buttons .icon-button .icon-button__icon{width:24px;height:24px}.rapportino-modal .rapportino-form-actions__buttons button[type=submit].icon-button{background:#2364ae;box-shadow:0 8px 16px -10px #2364aea6,inset 0 1px #ffffff42}.rapportino-modal .rapportino-form-actions__buttons .secondary-button.icon-button{background:transparent;color:#475569;border:0;box-shadow:none}.rapportino-modal .rapportino-form-actions__buttons .secondary-button.icon-button:not(:disabled):hover{background:#e2e8f0c7;box-shadow:none}.rapportino-modal .rapportino-form-actions__buttons .danger-button.icon-button{background:#fee2e2e6;color:#b91c1c;box-shadow:none}.form-actions{gap:.5rem;flex-wrap:wrap;justify-content:flex-start}}@media(max-width:480px){.quick-range button,.user-chip{flex:1 1 calc(50% - .3rem);font-size:.82rem}}.sidebar-toggle{display:none;align-items:center;justify-content:center;border:1px solid rgba(203,213,225,.86);background:#fffffff0;color:#1e3a8a;border-radius:999px;width:44px;height:44px;padding:0;font-weight:700;cursor:pointer;box-shadow:0 10px 26px -16px #0f172a99;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.rbc-row-bg{right:0!important}.sidebar-backdrop{display:none}@media(max-width:1024px){.dashboard{position:relative}.sidebar-toggle{display:inline-flex;position:fixed;bottom:calc(.9rem + env(safe-area-inset-bottom));right:calc(.75rem + env(safe-area-inset-right));z-index:60}.sidebar--mobile{position:fixed;inset:1rem auto auto 1rem;width:min(320px,calc(100% - 2rem));max-height:calc(100vh - 2rem);overflow:hidden auto;transform:translate(-115%);transition:transform .25s ease,opacity .25s ease;z-index:50;border-radius:1.25rem;padding:1rem;box-shadow:0 24px 48px #00000059}.sidebar--mobile.is-open{transform:translate(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#0f172a59;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:40}.sidebar--mobile .sidebar__head{flex-direction:row;align-items:center;justify-content:flex-start;gap:.75rem;width:100%;margin-bottom:.5rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar--mobile .user-pill-stack{display:flex;flex-direction:row;gap:0;flex:0 0 auto}.sidebar--mobile .user-pill{width:40px;height:40px;border-radius:10px;background:#ffffff1a;font-size:.95rem}.sidebar--mobile .sidebar__head-user{display:flex;flex-direction:column;line-height:1.15;overflow:hidden;flex:1 1 auto}.sidebar--mobile .sidebar__head-user-name{font-weight:700;font-size:.95rem;color:#f8fbff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar--mobile .sidebar__head-user-role{font-size:.72rem;color:#eef4ff99;text-transform:uppercase;letter-spacing:.06em}.sidebar--mobile nav,.sidebar--mobile .sidebar-nav{width:100%;display:flex;flex-direction:column;gap:.5rem;padding:0;overflow:visible}.sidebar--mobile .sidebar-nav__section{gap:.4rem}.sidebar--mobile .sidebar-nav__section+.sidebar-nav__section{border-top:1px solid rgba(255,255,255,.08);padding-top:.6rem;margin-top:.25rem}.sidebar--mobile .sidebar-nav__section-label{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:#eef4ff80;font-weight:700;padding:0 .25rem .1rem}.sidebar--mobile nav button,.sidebar--mobile .sidebar-nav button,.sidebar--mobile .sidebar-nav__action,.sidebar--mobile .sidebar-nav__logout{width:100%;justify-content:flex-start;padding:.7rem .9rem;gap:.65rem}.sidebar--mobile .nav-label{display:inline;font-weight:700}.sidebar--mobile .logout-pill{display:none}.sidebar--mobile .sidebar__foot{width:100%;border-top:1px solid rgba(255,255,255,.08);padding-top:.75rem;margin-top:.5rem;gap:.5rem}.sidebar--mobile .logout-btn{width:100%}.sidebar--mobile button[data-tooltip]:after,.sidebar--mobile button[data-tooltip]:hover:after{display:none}}@media(max-width:768px){.timesheet-header{flex-direction:column;align-items:stretch;gap:.6rem}.timesheet-header__subtitle{display:none}.timesheet-header__intro{flex:0 0 auto;width:100%}.timesheet-header .quick-range{flex:0 0 auto;width:100%;margin-top:0;justify-content:flex-start}.timesheet-breakdown__list{grid-template-columns:1fr;gap:.4rem}.calendar-page .calendar-header h1{font-size:1.35rem;margin:.15rem 0 .25rem}.quick-range{gap:.4rem}.quick-range button{flex:1 1 calc(50% - .4rem);min-height:40px;padding:.45rem .85rem;border-radius:.6rem;font-size:.85rem;font-weight:600;background:#fff;border:1px solid #cbd5f5;color:#1f2937;box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-range button:hover:not(.active):not(:disabled){background:#eef2ff;border-color:var(--brand-primary)}.quick-range button.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.timesheet-range-panel{margin-bottom:.6rem}.timesheet-range-panel .range-filter{gap:.6rem}.timesheet-range-panel .range-filter label{flex:1 1 calc(50% - .3rem);min-width:0}.timesheet-range-panel .range-filter__controls{gap:.35rem}.timesheet-range-panel .range-filter select{min-width:0;flex:1 1 auto;padding:.4rem .55rem;font-size:.85rem}.timesheet-range-panel .range-filter input[type=number]{width:4.5rem;flex:0 0 4.5rem;padding:.4rem .55rem;font-size:.85rem}.justifications-panel{padding:.85rem .95rem}.justifications-head{flex-direction:column;align-items:stretch;gap:.6rem}.justifications-head h3{font-size:1.05rem;margin:.1rem 0}.justifications-head small{font-size:.78rem}.justification-actions-cell .actions-stack{gap:.45rem}.justification-actions-cell button{flex:1 1 0;min-height:42px;padding:.5rem .85rem;border-radius:.6rem;font-size:.85rem;font-weight:600;background:#fff;border:1px solid #cbd5f5;color:var(--brand-primary);box-shadow:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.justification-actions-cell button:hover:not(:disabled){background:#eef2ff;border-color:var(--brand-primary)}.justification-actions-cell .danger{background:#fff;color:#b91c1c;border-color:#fecaca}.justification-actions-cell .danger:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.user-filters{padding:.75rem .85rem;gap:.55rem}.user-filter-actions{gap:.4rem}.user-filter-actions button{flex:1 1 0;min-height:40px;padding:.45rem .85rem;font-size:.85rem;border-radius:.6rem;background:#fff;border:1px solid #cbd5f5;color:#1f2937;box-shadow:none;white-space:nowrap}.user-filter-actions button:hover:not(:disabled){background:#eef2ff;border-color:var(--brand-primary)}.user-chip{padding:.3rem .7rem;font-size:.78rem}.timesheet-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.timesheet-kpi-card{padding:.6rem .65rem}.timesheet-kpi-card small{font-size:.72rem}.timesheet-kpi-card strong{font-size:1rem}.revenue-visual{padding:1rem;gap:1rem}.revenue-visual h2{font-size:1.4rem;margin:.15rem 0}.revenue-visual p{font-size:.85rem;line-height:1.45}.revenue-bars{padding:.95rem .9rem;gap:.75rem}.revenue-bars__head h3{font-size:1rem}.revenue-bars__head small{font-size:.78rem}.revenue-bars__chart{display:flex;flex-wrap:nowrap;overflow-x:auto;align-items:end;gap:.55rem;padding:.25rem .1rem .6rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.revenue-bars__bar-area{height:120px}.revenue-bars__stack{min-height:20px;border-radius:.5rem}.revenue-bars__avg-line,.chart-tooltip{display:none}.revenue-bars--fullwidth .revenue-bars__chart{grid-template-columns:none}.revenue-bars__chart .revenue-bars__column{flex:0 0 92px;min-width:92px;scroll-snap-align:start}.revenue-bars__label{font-size:.78rem}.revenue-bars__total{font-size:.82rem}.revenue-bars__label small{font-size:.7rem}.pie-legend__item{padding:.45rem .6rem}.legend-text p{font-size:.85rem}.client-details{padding:.85rem .95rem}.client-details__head{display:grid;grid-template-columns:1fr;align-items:start;gap:.85rem}.client-details__head>div:first-child{display:grid;gap:.35rem;min-width:0}.client-details__head h3{display:flex;align-items:center;gap:.5rem;font-size:1rem;line-height:1.15;margin:0}.client-details .badge{min-width:34px;padding:.16rem .55rem;font-size:.72rem}.client-details__head small{font-size:.86rem;line-height:1.25}.client-details__actions{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);width:100%;gap:.55rem;align-items:center}.client-details__actions .revenue-toggle,.client-details__actions .chip-toggle,.client-details__actions input[type=search]{min-width:0}.client-details__actions .revenue-toggle{justify-content:flex-start;padding:.25rem 0;gap:.45rem}.client-details__actions .chip-toggle{width:100%;padding-inline:.65rem}.client-details__actions input[type=search]{grid-column:1 / -1;width:100%;padding:.55rem .8rem}}@media(max-width:480px){.timesheet-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.timesheet-kpis .timesheet-kpi-card:nth-child(3){grid-column:span 2}.revenue-bars__chart .revenue-bars__column{flex-basis:84px;min-width:84px}.revenue-bars__chart{min-height:160px}.calendar-page .calendar-header h1{font-size:1.2rem}}.presets-page{display:flex;flex-direction:column;gap:1rem}.presets-page .users-header{margin-bottom:0}.presets-page .users-header h2{margin:0;font-size:1.4rem;line-height:1.1}.presets-toolbar{display:grid;grid-template-columns:minmax(180px,260px) minmax(220px,1fr);gap:.75rem;align-items:end}.presets-search{grid-column:auto}.preset-badge-filters{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}.preset-filter-badge{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-height:30px;padding:.28rem .7rem;border:1px solid rgba(35,100,174,.18);border-radius:999px;background:#2364ae14;color:var(--brand-primary-strong);font-size:.78rem;font-weight:700;line-height:1;cursor:pointer}.preset-filter-badge span{display:inline-flex;align-items:center;justify-content:center;min-width:1.2rem;min-height:1.2rem;padding:0 .3rem;border-radius:999px;background:#ffffffd1;color:inherit;font-size:.68rem}.preset-filter-badge:hover,.preset-filter-badge.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.preset-filter-badge:hover span,.preset-filter-badge.is-active span{background:#fff;color:var(--brand-primary-strong)}.preset-filter-badge--remote{background:#0ea5e91a;border-color:#0ea5e93d;color:#0369a1}.preset-filter-badge--development{background:#10b9811a;border-color:#10b9813d;color:#047857}.preset-filter-badge--planned{background:#7c3aed1a;border-color:#7c3aed38;color:#6d28d9}.preset-filter-badge:focus-visible{outline:2px solid rgba(35,100,174,.35);outline-offset:2px}.presets-toolbar .form-field,.preset-modal .form-field,.preset-clone-modal__body .form-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.presets-toolbar .form-field>span,.preset-modal .form-field>span{font-size:.8rem;font-weight:600;color:var(--brand-muted)}.presets-toolbar .form-field select,.presets-toolbar .form-field input{width:100%;height:42px;padding:0 .85rem;border:1px solid var(--brand-border);border-radius:.7rem;background:#fff;font-size:.95rem;color:#0f172a}.presets-toolbar .form-field select:focus,.presets-toolbar .form-field input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 2px #2364ae2e;outline:none}.preset-form__identity .form-field select,.preset-form__identity .client-autocomplete>input,.preset-form__row .form-field input{width:100%;height:42px;padding:0 .85rem;border:0;border-radius:.7rem;background:#f1f5f9;font-size:.95rem;color:#0f172a}.preset-form__identity .form-field select:focus,.preset-form__identity .client-autocomplete>input:focus,.preset-form__row .form-field input:focus{background:#fff;box-shadow:0 0 0 2px #2364ae2e}.preset-modal .form-field textarea{width:100%;padding:.6rem .85rem;border:1px solid var(--brand-border);border-radius:.7rem;background:#fff;font-size:.95rem;color:#0f172a;resize:vertical}.presets-table-wrapper{max-height:calc(100vh - 230px);overflow:auto}.presets-table{width:100%}.presets-table td{vertical-align:top}.presets-orari{white-space:nowrap}.presets-orari__work{display:block;font-weight:600}.presets-orari__meta{display:block;font-size:.78rem;color:var(--brand-muted)}.presets-num{white-space:nowrap}.preset-flags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}.preset-flags .badge{padding:.12rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;background:#2364ae1a;color:var(--brand-primary-strong);border:1px solid rgba(35,100,174,.18);text-transform:none;letter-spacing:0}.presets-clone-button{color:var(--brand-primary)}.preset-modal{width:min(1240px,calc(100vw - 2rem));max-width:min(1240px,calc(100vw - 2rem));padding:1rem;background:#f8fafc;border-radius:1.25rem}.preset-modal__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem;padding:0 .25rem}.preset-modal__head h3{margin:0}.preset-modal__body{display:grid;grid-template-columns:minmax(360px,1.35fr) minmax(340px,.9fr);grid-template-areas:"identity time" "description time" "description cost" "route flags";gap:.6rem;align-items:stretch}.preset-modal.rapportino-modal .preset-modal__body{display:flex;flex-direction:column;gap:.45rem}.preset-modal__body>.error{grid-column:1 / -1}.preset-modal.rapportino-modal .rapportino-layout{width:100%}.preset-modal.rapportino-modal .preset-operator-row{grid-template-columns:1fr}.preset-modal.rapportino-modal .preset-operator-row select{width:100%;min-height:40px;border:0;border-radius:.65rem;background:#f8fafc;color:#0f172a;font:inherit;font-weight:600;padding:.45rem .75rem}.preset-modal.rapportino-modal .rapportino-client-search .client-autocomplete>input{min-height:40px;border:0;border-radius:.65rem;background:#f8fafc;font-size:var(--rappo-body);font-weight:600}.preset-modal.rapportino-modal .cost-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preset-modal.rapportino-modal .cost-grid .form-field:last-child{grid-column:1 / -1}.preset-modal .form-field input,.preset-modal .form-field select,.preset-modal .form-field textarea{width:100%}.preset-form__identity{grid-area:identity;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.6rem}.preset-form__row{grid-area:route;display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:.6rem}.preset-description-field{grid-area:description;min-height:300px;padding:.75rem 1rem;border:0;border-radius:.9rem;background:#f1f5f9}.preset-description-field textarea{flex:1;min-height:230px;padding:0;border:0;border-radius:0;background:transparent;font-size:1rem;line-height:1.45;box-shadow:none}.preset-description-field textarea:focus{outline:none;box-shadow:none}.preset-description-field textarea::placeholder{color:#94a3b8}.preset-cost-grid{grid-area:cost;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.preset-cost-grid .form-field{justify-content:center;gap:.25rem;min-height:74px;padding:.65rem .85rem;background:#f1f5f9;border:0;border-radius:.75rem}.preset-cost-grid .form-field:nth-child(3){grid-column:1 / -1}.preset-cost-grid .form-field:focus-within{background:#f1f5f9;border-color:var(--brand-primary)}.preset-cost-grid .form-field>span{text-align:center;text-transform:uppercase;letter-spacing:.06em;font-size:.66rem;font-weight:700;color:#94a3b8}.preset-affix{position:relative;display:flex;align-items:center}.preset-affix__symbol{position:absolute;left:.1rem;font-weight:600;color:#64748b;pointer-events:none}.preset-affix input{width:100%;padding:0 0 0 1.1rem;text-align:right;font-weight:700;color:#0f172a;font-variant-numeric:tabular-nums;background:transparent;border:0;box-shadow:none}.preset-affix input:focus{outline:none;background:transparent;box-shadow:none}.preset-modal .form-field input,.preset-modal .form-field select,.preset-modal .form-field textarea{color:#0f172a}.preset-modal input:-webkit-autofill,.preset-modal input:-webkit-autofill:hover,.preset-modal input:-webkit-autofill:focus,.preset-modal input:-webkit-autofill:active,.preset-modal select:-webkit-autofill,.preset-modal textarea:-webkit-autofill{-webkit-text-fill-color:#0f172a;-webkit-box-shadow:0 0 0 1000px #fff inset;box-shadow:0 0 0 1000px #fff inset;caret-color:#0f172a;transition:background-color 9999s ease-out 0s}.preset-time-grid{grid-area:time;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.preset-time-phase--travel{grid-column:1 / -1}.preset-time-phase{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;border:0;border-radius:.9rem;padding:.75rem .8rem;min-height:120px}.preset-time-phase[data-phase=lavoro]{background:#10b98114;border-color:#10b98147}.preset-time-phase[data-phase=pausa]{background:#f59e0b14;border-color:#f59e0b47}.preset-time-phase[data-phase=viaggio]{background:#3b82f614;border-color:#3b82f647}.preset-time-phase__title{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#94a3b8}.preset-time-phase__pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.3rem;width:100%}.preset-time-phase__pair input{width:100%;min-width:0;height:44px;text-align:center;background:transparent;border:0;font-size:1.15rem;font-weight:800;color:#0f172a;font-variant-numeric:tabular-nums;box-shadow:none}.preset-time-phase__arrow{color:#94a3b8}.preset-travel-segments{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.35rem;width:100%}.preset-travel-segment{min-width:0;min-height:42px;padding:.35rem .25rem;border:1px solid rgba(59,130,246,.24);border-radius:.55rem;background:#ffffffd1;color:#64748b;font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:none}.preset-travel-segment.is-active{border-color:#1d4ed8;background:#1d4ed8;color:#fff}.preset-travel-segment:not(:disabled):hover{border-color:#1d4ed88c;color:#1d4ed8;box-shadow:none;transform:none}.preset-travel-segment.is-active:not(:disabled):hover{color:#fff}.preset-travel-custom{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%}.preset-travel-custom__back{display:inline-flex;align-items:center;gap:.2rem;padding:.35rem .6rem;border:0;border-radius:.5rem;background:#94a3b82e;color:#475569;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;box-shadow:none}.preset-travel-custom__back:not(:disabled):hover{background:#94a3b852;color:#1e293b;box-shadow:none;transform:none}.preset-travel-custom__input{flex:0 0 auto;width:7.5rem;text-align:center;font-weight:800;color:#1d4ed8;font-variant-numeric:tabular-nums;background:#fff;border:1px solid rgba(59,130,246,.35)}.preset-form-flags{grid-area:flags;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;background:#f1f5f9;border:0;border-radius:.75rem;padding:.7rem .85rem}.preset-form-flags .form-checkbox{flex:1 1 auto;justify-content:center}.preset-modal__actions{display:flex;justify-content:flex-end;gap:.6rem;margin-top:1rem;padding:.75rem;border-radius:1rem;background:#fff}.preset-modal.rapportino-modal .preset-modal__actions{margin-top:.45rem}.preset-modal.rapportino-modal .preset-modal__actions button{width:52px;min-width:52px}.preset-modal__icon-btn{width:42px;height:42px;padding:0;border-radius:.7rem;display:inline-flex;align-items:center;justify-content:center;box-shadow:none}.preset-modal__icon-btn--save{background:linear-gradient(135deg,var(--brand-primary) 0%,var(--brand-primary-strong) 100%);color:#fff;border:1px solid var(--brand-primary)}.preset-modal__icon-btn--cancel{background:#fff;color:var(--brand-muted);border:1px solid var(--brand-border)}.preset-modal__icon-btn--cancel:not(:disabled):hover{background:#f1f5f9;box-shadow:none;transform:none}.preset-clone-modal{width:min(460px,calc(100vw - 2rem))}.preset-clone-modal header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.preset-clone-modal header h3{margin:0}.preset-clone-modal header p{margin:.25rem 0 0;color:var(--brand-muted)}.preset-clone-modal__body{display:grid;gap:.75rem;margin-top:1rem}.preset-clone-modal__body .form-field>span{font-size:.8rem;font-weight:600;color:var(--brand-muted)}.preset-clone-modal__body .form-field input,.preset-clone-modal__body .form-field select{width:100%;height:42px;padding:0 .85rem;border:1px solid var(--brand-border);border-radius:.7rem;background:#fff;font-size:.95rem;color:#0f172a}.preset-clone-modal__body .form-field input:disabled{background:#f8fafc;color:var(--brand-muted)}@media(max-width:900px){.presets-table-wrapper{max-height:none;overflow:visible}.preset-modal{width:min(680px,calc(100vw - 2rem));max-width:min(680px,calc(100vw - 2rem))}.preset-modal__body{grid-template-columns:1fr;grid-template-areas:"identity" "description" "route" "flags" "time" "cost"}.preset-description-field{min-height:220px}.preset-description-field textarea{min-height:150px}.presets-table td:first-child:before{display:none}.presets-table td:first-child{border-bottom:1px solid #eef2f7;padding-bottom:.65rem}.presets-table td:first-child strong{font-size:1.05rem}.presets-orari{white-space:normal}}@media(max-width:640px){.presets-page{gap:.65rem}.presets-page .users-header{flex-direction:row;align-items:center;gap:.65rem;margin-bottom:-.1rem}.presets-page .users-header h2{font-size:1.2rem}.presets-page .add-client-btn{width:38px;height:38px;min-width:38px;min-height:38px;border-radius:.75rem;font-size:1.35rem}.presets-toolbar{grid-template-columns:1fr;gap:.45rem}.presets-toolbar .form-field{gap:0}.presets-toolbar .form-field>span{display:none}.presets-toolbar .form-field select,.presets-toolbar .form-field input{height:38px;border-radius:.65rem;font-size:.9rem}.preset-badge-filters{flex-wrap:nowrap;gap:.35rem;margin:0 -.15rem;padding:0 .15rem .1rem;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.preset-badge-filters::-webkit-scrollbar{display:none}.preset-filter-badge{flex:0 0 auto;min-height:28px;padding:.24rem .58rem;font-size:.74rem}.preset-filter-badge span{min-width:1.1rem;min-height:1.1rem;font-size:.64rem}.preset-cost-grid,.preset-time-grid{grid-template-columns:1fr}.preset-form__row{grid-template-columns:minmax(0,1fr) 100px}.preset-modal__actions{flex-direction:column-reverse}.preset-modal__actions button{width:100%}}
