:root{--color-primary: #1BA8DB;--color-primary-dark: #1596c7;--color-primary-light: #5eead4;--color-secondary: #6b7280;--color-success: #10b981;--color-danger: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--color-bg: #D9E5ED;--color-bg-dark: #111827;--color-white: #ffffff;--color-black: #000000;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-text: #1f2937;--color-text-muted: #6b7280;--color-text-light: #9ca3af;--space-4: 4px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-40: 40px;--space-48: 48px;--space-56: 56px;--space-64: 64px;--font-xs: 12px;--font-sm: 13px;--font-base: 14px;--font-lg: 16px;--font-xl: 18px;--font-2xl: 20px;--font-3xl: 24px;--font-4xl: 28px;--font-5xl: 32px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .15);--shadow-xl: 0 8px 16px rgba(0, 0, 0, .2);--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-notification: 800;--transition-fast: opacity .15s ease, background-color .15s ease;--transition-normal: opacity .2s ease, background-color .2s ease;--transition-slow: opacity .3s ease, background-color .3s ease;--transition-none: none;--screen-xs: 360px;--screen-sm: 640px;--screen-md: 768px;--screen-lg: 1024px;--screen-xl: 1280px}.dark{--color-bg: #111827;--color-text: #e5e7eb;--color-text-muted: #9ca3af;--color-text-light: #6b7280;--color-border: #374151}:root{--font-xs: clamp(10px, 3.08vw, 14px);--font-sm: clamp(11px, 3.33vw, 15px);--font-base: clamp(12px, 3.59vw, 16px);--font-lg: clamp(14px, 4.1vw, 18px);--font-xl: clamp(15px, 4.62vw, 20px);--font-2xl: clamp(17px, 5.13vw, 24px);--font-3xl: clamp(20px, 6.15vw, 28px);--font-4xl: clamp(25px, 7.69vw, 35px);--space-2: clamp(1.5px, .51vw, 2.5px);--space-4: clamp(3px, 1.03vw, 5px);--space-6: clamp(5px, 1.54vw, 7px);--space-8: clamp(6px, 2.05vw, 10px);--space-10: clamp(8px, 2.56vw, 12px);--space-12: clamp(10px, 3.08vw, 14px);--space-16: clamp(13px, 4.1vw, 19px);--space-20: clamp(16px, 5.13vw, 24px);--space-24: clamp(19px, 6.15vw, 28px);--space-32: clamp(26px, 8.21vw, 38px);--space-48: clamp(39px, 12.31vw, 57px);--space-64: clamp(52px, 16.41vw, 76px);--header-height: clamp(45px, 12.82vw, 60px);--footer-height: clamp(70px, 20.51vw, 90px);--button-height: clamp(40px, 11.28vw, 48px);--button-height-sm: clamp(32px, 9.23vw, 40px);--avatar-size: clamp(32px, 9.23vw, 40px);--avatar-size-lg: clamp(36px, 10.26vw, 44px);--logo-height: clamp(28px, 8.21vw, 36px);--radius-sm: clamp(3px, 1.03vw, 5px);--radius-md: clamp(6px, 2.05vw, 10px);--radius-lg: clamp(10px, 3.08vw, 14px);--radius-xl: clamp(13px, 4.1vw, 19px);--radius-full: 9999px;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .1)}@media (max-width: 320px){:root{--font-base: clamp(11px, 3.59vw, 16px);--font-lg: clamp(13px, 4.1vw, 18px);--font-xl: clamp(14px, 4.62vw, 20px)}}@media (min-width: 768px) and (max-width: 1023px){:root{--font-base: 15px;--font-lg: 17px;--font-xl: 19px;--font-2xl: 22px;--font-3xl: 26px;--font-4xl: 32px;--space-8: 8px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--header-height: 60px;--footer-height: 80px;--button-height: 46px}}@media (min-width: 1024px){:root{--font-xs: 12px;--font-sm: 14px;--font-base: 16px;--font-lg: 18px;--font-xl: 20px;--font-2xl: 24px;--font-3xl: 30px;--font-4xl: 36px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--space-48: 48px;--space-64: 64px;--header-height: 64px;--footer-height: 80px;--button-height: 44px;--button-height-sm: 36px;--avatar-size: 40px;--avatar-size-lg: 48px;--logo-height: 40px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px}}@media (max-width: 767px) and (orientation: landscape){:root{--header-height: clamp(40px, 10.26vw, 50px);--footer-height: clamp(55px, 15.38vw, 70px);--button-height: clamp(36px, 9.23vw, 44px)}}body:before{content:"Width: " attr(data-width) "px | Font-base: " var(--font-base);position:fixed;top:0;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:4px 8px;font-size:10px;z-index:99999;pointer-events:none;display:none}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;scroll-behavior:smooth;height:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:var(--font-base, 14px);line-height:var(--leading-normal, 1.5);color:var(--color-text, #1f2937);background-color:var(--color-bg, #ffffff);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;height:100%}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-semibold, 600);line-height:var(--leading-tight, 1.25);color:var(--color-text, #1f2937)}h1{font-size:var(--font-4xl, 2.25rem);font-weight:var(--font-bold, 700)}h2{font-size:var(--font-3xl, 1.875rem);font-weight:var(--font-semibold, 600)}h3{font-size:var(--font-2xl, 1.5rem)}h4{font-size:var(--font-xl, 1.25rem)}h5{font-size:var(--font-lg, 1.125rem)}h6{font-size:var(--font-base, 1rem);font-weight:var(--font-medium, 500)}p{margin:0;line-height:var(--leading-relaxed, 1.625)}a{color:var(--color-primary, #1BA8DB);text-decoration:none;cursor:pointer;transition:opacity var(--transition-fast, .15s)}a:active{opacity:.8}@media (hover: hover){a:hover{opacity:.8}}ul,ol{list-style:none;margin:0;padding:0}ul.list-disc{list-style:disc;padding-left:1.5rem}ol.list-decimal{list-style:decimal;padding-left:1.5rem}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}button{background:transparent;border:none;padding:0;cursor:pointer;-moz-user-select:none;user-select:none;-webkit-user-select:none}input,textarea,select{font-size:max(16px,var(--font-base, 14px));border:1px solid var(--color-gray-300, #d1d5db);border-radius:var(--radius-md, .375rem);padding:var(--space-8, .5rem) var(--space-12, .75rem);transition:border-color var(--transition-fast, .15s)}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary, #1BA8DB)}img,video,canvas,svg{max-width:100%;height:auto;display:block}img.inline{display:inline-block;vertical-align:middle}table{border-collapse:collapse;border-spacing:0;width:100%}th,td{text-align:left;padding:var(--space-8, .5rem)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden],.hidden{display:none}:focus-visible{outline:2px solid var(--color-primary, #1BA8DB);outline-offset:2px}:focus:not(:focus-visible){outline:none}@media (max-width: 768px){html{font-size:15px}h1{font-size:var(--font-3xl, 1.875rem)}h2{font-size:var(--font-2xl, 1.5rem)}h3{font-size:var(--font-xl, 1.25rem)}}@media (max-width: 360px){html{font-size:14px}h1{font-size:var(--font-2xl, 1.5rem)}h2{font-size:var(--font-xl, 1.25rem)}}@media print{.webapp-header,.webapp-footer,.no-print{display:none}body{color:#000;background:#fff}}html{height:100%}body{height:100%;margin:0;padding:0}.webapp-container{position:fixed;inset:0;display:flex;flex-direction:column;background:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100vh;height:100dvh;overflow:hidden}.webapp-main-with-footer{display:flex;flex-direction:column;flex:1;min-height:0}.content-wrapper{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;min-height:0;padding-top:var(--header-height, 50px);padding-bottom:200px;padding-left:0;padding-right:0;background:#f3f4f6}:root{--header-height: 50px;--footer-height: 80px}.content-end-spacer{height:100px;flex-shrink:0}.main-content,.page-content,.dashboard-container,.spese-container{width:100%}.webapp-header-space{flex-shrink:0;height:50px;--header-space-height: 50px}.webapp-footer-space{display:none;height:0;visibility:hidden}.webapp-modal-open,.webapp-modal-open .content-wrapper{overflow:hidden}.webapp-header{position:fixed;top:0;left:0;right:0;background:var(--color-white);color:var(--color-text);padding:var(--space-12) var(--space-16);z-index:var(--z-fixed, 300);display:flex;align-items:center;justify-content:space-between;min-height:50px;box-shadow:var(--shadow-sm);border-bottom:1px solid var(--color-gray-200)}.webapp-header-logo{display:flex;align-items:center;gap:var(--space-12);text-decoration:none;color:var(--color-text)}.webapp-header-logo img{height:32px;width:auto}.webapp-header-logo-text{font-size:var(--font-xl);font-weight:var(--font-semibold);letter-spacing:-.5px}.webapp-header-logo-subtitle{font-size:var(--font-xs);color:var(--color-text-muted);margin-top:2px}.webapp-header-user{display:flex;align-items:center;gap:var(--space-12)}.webapp-avatar{width:36px;height:36px;border-radius:var(--radius-full, 50%);overflow:hidden;border:2px solid var(--color-gray-300);cursor:pointer;transition:border-color var(--transition-fast)}.webapp-avatar:active{border-color:var(--color-primary)}.webapp-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.webapp-avatar-placeholder{width:100%;height:100%;background:var(--color-gray-200);display:flex;align-items:center;justify-content:center;font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-text-muted)}.webapp-subheader{position:fixed;top:75px;left:0;right:0;z-index:90;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:none;box-shadow:none;transition:all .3s ease}@media (max-width: 768px){.webapp-subheader{top:75px}}@media (min-width: 768px) and (max-width: 1023px){.webapp-subheader{top:85px}}@media (min-width: 1024px){.webapp-subheader{top:90px}}@media (max-width: 767px) and (orientation: landscape){.webapp-subheader{top:70px}}@media (display-mode: standalone){.webapp-subheader{top:calc(75px + env(safe-area-inset-top,0))}@media (min-width: 768px){.webapp-subheader{top:calc(85px + env(safe-area-inset-top,0))}}}.webapp-footer{position:fixed;bottom:0;left:0;right:0;background:#ffffffb3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:none;border-top:1px solid rgba(255,255,255,.3);padding:var(--space-12);padding-bottom:calc(var(--space-12) + env(safe-area-inset-bottom,0));z-index:var(--z-fixed, 300);box-shadow:0 -2px 16px #00000014}.webapp-footer:before{content:"";position:absolute;top:-15px;left:0;right:0;height:15px;background:transparent;pointer-events:none;z-index:-1}.webapp-footer nav{display:flex;gap:var(--space-8);width:100%;margin:0 auto;padding:0 var(--space-16)}.webapp-footer-buttons{display:flex;gap:var(--space-8);width:100%;margin:0 auto}.webapp-footer-btn{flex:1;min-height:44px;padding:var(--space-10) var(--space-16);border-radius:var(--radius-md);font-size:var(--font-sm);font-weight:var(--font-semibold);text-align:center;cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast);border:1px solid transparent;outline:none;text-decoration:none;display:flex;align-items:center;justify-content:center;white-space:nowrap;-moz-user-select:none;user-select:none;-webkit-user-select:none;background:transparent;touch-action:manipulation}.webapp-footer-btn:active{transform:scale(.95);opacity:.9}.webapp-footer-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.webapp-footer-btn.vld-btn-primary{color:#fff;background:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 4px #1ba8db4d;font-weight:600}.webapp-footer-btn.vld-btn-secondary{color:var(--color-secondary);background:#6b728026;border-color:#6b72804d;font-weight:600}.webapp-footer-btn.vld-btn-success{color:#fff;background:var(--color-success);border-color:var(--color-success);box-shadow:0 2px 4px #10b9814d;font-weight:600}.webapp-footer-btn.vld-btn-danger{color:#fff;background:var(--color-danger);border-color:var(--color-danger);box-shadow:0 2px 4px #ef44444d;font-weight:600}.webapp-footer nav{display:flex;width:100%;gap:var(--space-8);padding:0 var(--space-16)}.footer-group-left,.footer-group-right{display:flex;gap:var(--space-8);flex:1}.footer-group-right{justify-content:flex-end}.dropdown-container{flex:0 0 auto;min-width:140px}.dropdown-container .webapp-footer-btn{width:100%;justify-content:space-between;padding-left:var(--space-16);padding-right:var(--space-12)}.footer-group-left,.footer-group-right{flex:0 0 auto}.modal-content .webapp-footer-btn,.modal-wrapper .webapp-footer-btn,.modal .webapp-footer-btn{min-width:120px;flex:1}.modal-content .footer-group-left,.modal-content .footer-group-right,.modal-wrapper .footer-group-left,.modal-wrapper .footer-group-right{flex:1;display:flex;gap:var(--space-8)}.modal-content .footer-group-left .webapp-footer-btn,.modal-wrapper .footer-group-left .webapp-footer-btn,.modal-content .footer-group-right .webapp-footer-btn,.modal-wrapper .footer-group-right .webapp-footer-btn{flex:1}.webapp-footer nav>div:only-child{justify-content:center}.webapp-footer nav>div:only-child .webapp-footer-btn{flex:1}.dropdown-container{position:relative;flex:0 0 auto;min-width:150px}.dropdown-container .webapp-footer-btn{width:100%;min-width:150px;justify-content:center;padding:var(--space-10) var(--space-16)}.webapp-footer nav{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 var(--space-16)}.footer-group-left,.footer-group-right{display:flex;gap:var(--space-8);flex:0 0 auto}.footer-group-left .webapp-footer-btn{min-width:120px}.footer-group-right .webapp-footer-btn{min-width:150px}.footer-group-single .webapp-footer-btn,.footer-group-centered .webapp-footer-btn{flex:1}@media (min-width: 768px){:root{--header-height: 60px;--footer-height: 80px}.webapp-container{position:relative;height:100vh}.content-wrapper{padding-left:var(--space-24, 1.5rem);padding-right:var(--space-24, 1.5rem)}.webapp-header{padding:var(--space-16) var(--space-24);min-height:60px}.webapp-header-space{height:60px;--header-space-height: 60px}.webapp-header-logo img{height:40px}.webapp-header-logo-text{font-size:var(--font-2xl)}.webapp-avatar{width:40px;height:40px}.webapp-footer{padding:var(--space-12);padding-bottom:calc(var(--space-12) + env(safe-area-inset-bottom,0))}.webapp-footer-btn{font-size:var(--font-base);padding:var(--space-12);min-height:48px}}@media (min-width: 1024px){.webapp-header{padding:var(--space-16) var(--space-32)}.content-wrapper{max-width:1200px;margin:0 auto;width:100%}}@media (max-width: 360px){.webapp-footer-btn{font-size:var(--font-xs);padding:var(--space-8);min-height:40px}.webapp-header-logo-text{font-size:var(--font-lg)}}@media (max-width: 768px) and (orientation: landscape){:root{--header-height: 45px;--footer-height: 60px}.webapp-header{min-height:45px;padding:var(--space-8) var(--space-16)}.webapp-header-space{height:45px;--header-space-height: 45px}.webapp-footer{padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0))}.webapp-footer-btn{min-height:40px;padding:var(--space-8) var(--space-12);font-size:var(--font-xs)}}@media (display-mode: standalone){:root{--header-height: calc(50px + env(safe-area-inset-top, 20px)) }.webapp-header{padding-top:calc(var(--space-12) + env(safe-area-inset-top,20px))}.webapp-header-space{height:calc(50px + env(safe-area-inset-top,20px));--header-space-height: calc(50px + env(safe-area-inset-top, 20px)) }@media (min-width: 768px){:root{--header-height: calc(60px + env(safe-area-inset-top, 20px)) }}}@supports (padding-top: env(safe-area-inset-top)){@media (display-mode: standalone){.webapp-header{padding-top:calc(var(--space-12) + env(safe-area-inset-top))}}}@media (min-width: 768px){.webapp-container.has-subheader .content-wrapper{padding-top:120px}}.webapp-container.has-subheader .content-wrapper{padding-top:180px}@media (min-width: 768px){.webapp-container.has-subheader .content-wrapper{padding-top:200px}}@media (min-width: 1024px){.webapp-container.has-subheader .content-wrapper{padding-top:210px}}.webapp-container.has-subheader .webapp-header-space{display:none}.webapp-container.has-subheader .content-wrapper{padding-top:130px}@media (min-width: 768px){.webapp-container.has-subheader .content-wrapper{padding-top:140px}}@media (min-width: 1024px){.webapp-container.has-subheader .content-wrapper{padding-top:150px}}.webapp-subheader-content{text-transform:uppercase}.webapp-footer nav{display:flex;justify-content:space-between;align-items:center;width:100%;gap:var(--space-8)}.footer-group-left,.footer-group-right{display:flex;gap:10px;flex:1}.footer-group-left{justify-content:flex-start}.footer-group-right{justify-content:flex-end;align-items:center}.dropdown-container{position:relative}.dropdown-menu{position:absolute;bottom:calc(100% + 10px);right:0;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 -10px 25px #00000026;min-width:250px;z-index:1000;padding:8px 0}.dropdown-item{display:block;width:100%;padding:12px 16px;text-align:left;border:none;background:none;cursor:pointer;transition:background .2s;font-size:14px;color:#374151}.dropdown-item:hover{background:#f3f4f6}.dropdown-divider{height:1px;background:#e5e7eb;margin:8px 0}.loading-spinner{display:none}.footer-group-single{display:flex;gap:var(--space-8);width:100%;justify-content:center}.footer-group-single .webapp-footer-btn,.footer-group-single .dropdown-container{flex:1;max-width:200px}.webapp-subheader{transition:transform .3s ease-in-out,opacity .3s ease-in-out;transform:translateY(0)}.webapp-subheader.subheader-hidden{transform:translateY(-100%)!important;opacity:0!important;pointer-events:none}.vld-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-8);min-height:44px;min-width:100px;padding:var(--space-12) var(--space-20);font-size:var(--font-base);font-weight:var(--font-semibold);text-align:center;white-space:nowrap;text-decoration:none;border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:all var(--transition-fast);outline:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;background:#1ba8db1a;color:var(--color-primary);border-color:#1ba8db33;box-shadow:0 2px 8px #1ba8db1a}.vld-btn:active{transform:scale(.95);opacity:.9}.vld-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.vld-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.vld-btn-primary{background:#1ba8db1a;color:var(--color-primary);border-color:#1ba8db33}.vld-btn-primary:active{background:#1ba8db33}.vld-btn-secondary{background:#6b72801a;color:var(--color-secondary);border-color:#6b728033}.vld-btn-secondary:active{background:#6b728033}.vld-btn-success{background:#10b9811a;color:var(--color-success);border-color:#10b98133}.vld-btn-success:active{background:#10b98133}.vld-btn-danger{background:#ef44441a;color:var(--color-danger);border-color:#ef444433}.vld-btn-danger:active{background:#ef444433}.vld-btn-warning{background:#f59e0b1a;color:var(--color-warning);border-color:#f59e0b33}.vld-btn-warning:active{background:#f59e0b33}.vld-btn-sm{min-height:36px;padding:var(--space-8) var(--space-16);font-size:var(--font-sm)}.vld-btn-lg{min-height:52px;padding:var(--space-16) var(--space-32);font-size:var(--font-lg)}.vld-btn-loading{position:relative;color:transparent;pointer-events:none}.vld-btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid var(--color-primary);border-radius:50%;border-top-color:transparent;animation:button-loading-spinner .6s linear infinite}@keyframes button-loading-spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vld-btn-group{display:flex;gap:var(--space-8)}@media (max-width: 480px){.vld-btn-group{flex-direction:column}.vld-btn-group .vld-btn{width:100%}}.vld-btn-icon{padding:var(--space-10);min-width:44px}.vld-btn-block{width:100%}.btn-login{width:100%;min-height:48px;background:var(--color-primary);color:#fff;border:none;font-size:var(--font-lg);font-weight:var(--font-bold);letter-spacing:.5px}.btn-login:active{background:var(--color-primary-dark)}@media (max-width: 360px){.vld-btn{min-height:40px;padding:var(--space-10) var(--space-16);font-size:var(--font-sm)}}@media (min-width: 768px){.vld-btn{min-height:48px;padding:var(--space-12) var(--space-24)}}@supports (-webkit-touch-callout: none){.vld-btn{-webkit-user-select:none;-webkit-touch-callout:none}.vld-btn:active{transform:none;opacity:.7}}.modal-footer .vld-btn{min-width:120px}.modal-footer .flex.gap-2 .vld-btn{flex:0 0 auto}.modal-body .vld-btn,.modal-footer .vld-btn{min-width:120px!important}.badge,.report-badge,.vld-badge,.status-badge{display:inline-block;padding:var(--space-4) var(--space-8);font-size:var(--font-xs);font-weight:600;line-height:1;text-align:center;white-space:nowrap;vertical-align:middle;border-radius:var(--radius-sm);transition:all .2s ease}.badge-blue{background-color:#dbeafe;color:#1e40af;border:1px solid rgba(30,64,175,.1)}.badge-green{background-color:#d1fae5;color:#166534;border:1px solid rgba(22,101,52,.1)}.badge-red{background-color:#fee2e2;color:#991b1b;border:1px solid rgba(153,27,27,.1)}.badge-yellow{background-color:#fef3c7;color:#92400e;border:1px solid rgba(146,64,14,.1)}.status-confirmed{background:#10b9811a;color:#10b981;border:1px solid #10b981}.vld-category-badge{display:inline-flex;align-items:center;padding:var(--space-4) var(--space-12);font-size:var(--font-xs);font-weight:500;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.vld-category-badge--carburante{background:#ef44441a;color:#dc2626}.vld-category-badge--trasporto{background:#3b82f61a;color:#2563eb}.vld-category-badge--cibo{background:#f973161a;color:#ea580c}.vld-category-badge--alloggio{background:#8b5cf61a;color:#7c3aed}.vld-category-badge--attrezzature{background:#22c55e1a;color:#16a34a}.vld-category-badge--forniture{background:#ec48991a;color:#db2777}.vld-category-badge--altro{background:#6b72801a;color:#6b7280}.report-badges{display:flex;gap:var(--space-8);flex-wrap:wrap;align-items:center}.form-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-24);box-shadow:var(--shadow-md)}.form-group{margin-bottom:var(--space-20)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16)}@media (max-width: 640px){.form-grid{grid-template-columns:1fr}}.form-label{display:block;margin-bottom:var(--space-8);font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text)}.form-label-required:after{content:" *";color:var(--color-danger)}.input-label{display:block;margin-bottom:var(--space-8);font-size:var(--font-base);font-weight:var(--font-medium);color:var(--color-gray-700)}.form-input{display:block;width:100%;min-height:44px;padding:var(--space-12) var(--space-16);font-size:max(16px,var(--font-base));line-height:var(--leading-normal);background:var(--color-white);color:var(--color-text);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);transition:all var(--transition-fast);outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db1a}.form-input::-moz-placeholder{color:var(--color-gray-400)}.form-input::placeholder{color:var(--color-gray-400)}.form-input:disabled{background:var(--color-gray-50);color:var(--color-gray-500);cursor:not-allowed;opacity:.7}.form-input-error{border-color:var(--color-danger)}.form-input-error:focus{box-shadow:0 0 0 3px #ef44441a}.form-textarea{min-height:100px;resize:vertical}.form-input-number{text-align:right}.form-input-login{min-height:48px;font-size:var(--font-lg);padding:var(--space-12) var(--space-16);background:#ffffffe6}.selector-modern{display:block;width:100%;min-height:44px;padding:var(--space-12) var(--space-40) var(--space-12) var(--space-16);font-size:var(--font-base);font-weight:var(--font-medium);background-color:#1ba8db1a;color:var(--color-text);border:1px solid rgba(27,168,219,.2);border-radius:var(--radius-md);box-shadow:0 2px 8px #1ba8db1a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%231BA8DB' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;transition:all var(--transition-fast);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.selector-modern:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db1a}.selector-modern:active{transform:scale(.98)}.selector-modern option{background:var(--color-white);color:var(--color-text);padding:var(--space-8)}.selector-group{display:flex;gap:var(--space-8);width:100%}.selector-group .selector-modern{flex:1}.checkbox-input{width:20px;height:20px;border:2px solid var(--color-gray-400);border-radius:var(--radius-sm);cursor:pointer}.checkbox-input:checked{background:var(--color-primary);border-color:var(--color-primary)}.checkbox-label{display:flex;align-items:center;gap:var(--space-8);cursor:pointer;font-size:var(--font-base)}.file-upload-area{border:2px dashed var(--color-gray-300);border-radius:var(--radius-lg);padding:var(--space-32);text-align:center;cursor:pointer;transition:all var(--transition-fast)}.file-upload-area:active{border-color:var(--color-primary);background:#1ba8db0d}.error-text{display:block;margin-top:var(--space-4);font-size:var(--font-sm);color:var(--color-danger)}.error-box{background:#ef44441a;border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-12);margin-bottom:var(--space-16)}.error-message{color:var(--color-danger);font-size:var(--font-sm);line-height:var(--leading-relaxed)}.form-actions{display:flex;gap:var(--space-12);margin-top:var(--space-24);padding-top:var(--space-24);border-top:1px solid var(--color-gray-200)}@media (max-width: 480px){.form-actions{flex-direction:column}.form-actions .vld-btn{width:100%}}.search-input-wrapper{position:relative}.search-input{padding-left:var(--space-40)}.search-input-icon{position:absolute;left:var(--space-12);top:50%;transform:translateY(-50%);color:var(--color-gray-400)}@media (max-width: 360px){.form-input,.selector-modern{min-height:40px;padding:var(--space-10) var(--space-12);font-size:var(--font-sm)}}@media (min-width: 768px){.form-card{padding:var(--space-32)}.form-input,.selector-modern{min-height:48px}}.input-number-clean{display:block;width:100%;min-height:44px;padding:var(--space-12) var(--space-16);font-size:max(16px,var(--font-base));background-color:#1ba8db1a;color:var(--color-text);border:1px solid rgba(27,168,219,.2);border-radius:var(--radius-md);box-shadow:0 2px 8px #1ba8db1a;transition:all var(--transition-fast);cursor:text;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.input-number-clean::-webkit-outer-spin-button,.input-number-clean::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;display:none}.input-number-clean:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db1a;outline:none}.input-number-clean:active{transform:scale(.98)}@media (max-width: 360px){.input-number-clean{min-height:40px;padding:var(--space-10) var(--space-12);font-size:var(--font-sm)}}@media (min-width: 768px){.input-number-clean{min-height:48px}}.input-numeric-clean{display:block;width:100%;min-height:44px;padding:12px 36px 12px 16px;font-size:14px;font-weight:500;border-radius:8px;cursor:text;transition:all .2s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#1ba8db1a;color:#1f2937;border:1px solid rgba(27,168,219,.2);box-shadow:0 2px 8px #1ba8db1a}.input-numeric-clean::-webkit-outer-spin-button,.input-numeric-clean::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;display:none}input[type=number].input-numeric-clean{-moz-appearance:textfield}.input-numeric-clean:hover{border-color:var(--color-primary);background-color:#1ba8db26}.input-numeric-clean:focus{outline:2px solid rgba(27,168,219,.3);outline-offset:2px}.input-numeric-clean:active{transform:scale(.98);opacity:.9}.input-numeric-clean::-moz-placeholder{color:#9ca3af;opacity:.7}.input-numeric-clean::placeholder{color:#9ca3af;opacity:.7}@media (max-width: 767px){.input-numeric-clean{padding:10px 32px 10px 12px;font-size:13px;min-height:44px}}@media (max-width: 360px){.input-numeric-clean{padding:8px 28px 8px 10px;font-size:12px;min-height:40px}}@media (min-width: 768px){.input-numeric-clean{min-height:48px}}.vld-toggle{position:relative;display:inline-block;width:64px;height:36px}.vld-toggle input{display:none}.vld-toggle .slider{position:absolute;cursor:pointer;inset:0;background:linear-gradient(145deg,#e2e8f0,#cbd5e1);border-radius:18px;transition:transform .2s ease,background-color .2s ease;box-shadow:inset 2px 2px 5px #0000001a}.vld-toggle .slider:before{position:absolute;content:"";height:28px;width:28px;left:4px;bottom:4px;background:#fff;border-radius:14px;transition:transform .2s ease,background-color .2s ease;box-shadow:0 2px 8px #00000026}.vld-toggle input:checked+.slider{background:linear-gradient(145deg,var(--color-primary),var(--color-primary-dark));box-shadow:inset 2px 2px 5px #1ba8db4d}.vld-toggle input:checked+.slider:before{transform:translate(28px)}.vld-toggle-sm{width:48px;height:28px}.vld-toggle-sm .slider{border-radius:14px}.vld-toggle-sm .slider:before{height:20px;width:20px;left:4px;bottom:4px;border-radius:10px}.vld-toggle-sm input:checked+.slider:before{transform:translate(20px)}.vld-toggle-lg{width:80px;height:44px}.vld-toggle-lg .slider{border-radius:22px}.vld-toggle-lg .slider:before{height:36px;width:36px;left:4px;bottom:4px;border-radius:18px}.vld-toggle-lg input:checked+.slider:before{transform:translate(36px)}.vld-toggle-success input:checked+.slider{background:linear-gradient(145deg,#10b981,#059669)}.vld-toggle-danger input:checked+.slider{background:linear-gradient(145deg,#ef4444,#dc2626)}.vld-toggle-warning input:checked+.slider{background:linear-gradient(145deg,#f59e0b,#d97706)}.vld-toggle-info input:checked+.slider{background:linear-gradient(145deg,#3b82f6,#2563eb)}.vld-toggle-wrapper{display:inline-flex;align-items:center;gap:var(--space-12);min-height:44px}.vld-toggle-label{font-size:var(--font-base);font-weight:500;color:var(--color-text);-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:pointer}.vld-toggle-wrapper.label-left{flex-direction:row-reverse}.vld-toggle-wrapper.label-top{flex-direction:column;align-items:flex-start;gap:var(--space-8)}.vld-toggle-description{display:block;font-size:var(--font-sm);color:var(--color-text-muted);margin-top:var(--space-4);font-weight:400}.vld-toggle-icons .slider:after{content:"✕";position:absolute;right:10px;top:50%;transform:translateY(-50%);color:#0000004d;font-size:14px;font-weight:700;transition:opacity .15s ease}.vld-toggle-icons input:checked+.slider:after{content:"✓";left:10px;right:auto;color:#ffffffe6}.vld-toggle-text{width:72px}.vld-toggle-text .slider{font-size:11px;font-weight:600;display:flex;align-items:center;padding:0 10px}.vld-toggle-text .slider:after{content:"OFF";color:#0006;margin-left:auto;transition:all .3s}.vld-toggle-text input:checked+.slider:after{content:"ON";color:#fffffff2;margin-left:10px;margin-right:auto}@media (hover: hover){.vld-toggle:hover .slider{box-shadow:inset 2px 2px 5px #00000026}.vld-toggle:hover .slider:before{box-shadow:0 2px 12px #0003}}.vld-toggle:active .slider:before{width:32px}.vld-toggle input:checked+.slider:active:before{transform:translate(24px)}.vld-toggle input:focus-visible+.slider{outline:2px solid var(--color-primary);outline-offset:2px}.vld-toggle input:disabled+.slider{opacity:.5;cursor:not-allowed;background:linear-gradient(145deg,#f3f4f6,#e5e7eb)}.vld-toggle input:disabled+.slider:before{box-shadow:none}@keyframes toggle-pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 640px){.vld-toggle-wrapper{min-height:44px;padding:var(--space-4) 0}}@media (max-width: 360px){.vld-toggle{width:56px;height:32px}.vld-toggle .slider:before{height:24px;width:24px}.vld-toggle input:checked+.slider:before{transform:translate(24px)}}.vld-toggle-group{display:flex;flex-direction:column;gap:var(--space-16)}.settings-toggle-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-16) 0;border-bottom:1px solid var(--color-gray-200)}.settings-toggle-row:last-child{border-bottom:none}.settings-toggle-info{flex:1;margin-right:var(--space-16)}.settings-toggle-title{font-size:var(--font-base);font-weight:500;color:var(--color-text);margin-bottom:var(--space-4)}.settings-toggle-description{font-size:var(--font-sm);color:var(--color-text-muted);line-height:1.5}.card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-20);box-shadow:var(--shadow-sm);border:1px solid var(--color-gray-200);margin-bottom:var(--space-12)}.card-clickable{cursor:pointer}.card-clickable:active{opacity:.9;box-shadow:var(--shadow-md)}.card-header{padding-bottom:var(--space-16);margin-bottom:var(--space-16);border-bottom:1px solid var(--color-gray-200)}.card-title{font-size:var(--font-xl);font-weight:var(--font-semibold);color:var(--color-text)}.card-subtitle{font-size:var(--font-sm);color:var(--color-text-muted);margin-top:var(--space-4)}.card-body{padding:var(--space-16) 0}.card-footer{padding-top:var(--space-16);margin-top:var(--space-16);border-top:1px solid var(--color-gray-200)}.main-card{flex:1;display:flex;flex-direction:column;background:transparent;border-radius:0;overflow:visible;padding-top:var(--space-16);padding-bottom:var(--space-16);padding-left:16px;padding-right:16px}.report-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-16);margin-bottom:var(--space-12);box-shadow:0 1px 3px #0000001a;cursor:pointer;border:none}@media (hover: hover){.report-card:hover{box-shadow:0 4px 6px #0000001f}}.report-card:active{opacity:.9;box-shadow:0 1px 2px #00000014}.report-card:last-child{margin-bottom:0}.report-date{font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-8);font-weight:var(--font-medium)}.report-client{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-4);line-height:var(--leading-tight)}.report-commessa{font-size:var(--font-sm);color:var(--color-text-muted)}.report-badge,.командировка{display:inline-block;background:#10b981;color:#fff;padding:var(--space-4) var(--space-12);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-semibold);margin-left:var(--space-8);text-transform:uppercase;letter-spacing:.5px}.report-metrics{display:flex;gap:var(--space-24);margin-top:var(--space-12);padding-top:var(--space-12);border-top:1px solid var(--color-gray-100)}.metric{flex:1}.metric-label{font-size:var(--font-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.metric-value{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-text)}.empty-state{text-align:center;padding:var(--space-48) var(--space-24);background:var(--color-white);border-radius:var(--radius-lg);margin:var(--space-16)}.empty-state-icon{width:64px;height:64px;margin:0 auto var(--space-16);color:var(--color-gray-300)}.empty-state-title{font-size:var(--font-xl);font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-8)}.empty-state-text{font-size:var(--font-base);color:var(--color-text-muted);margin-bottom:var(--space-24)}.info-card{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-md);padding:var(--space-16);margin-bottom:var(--space-16)}.info-card-title{font-size:var(--font-base);font-weight:var(--font-semibold);color:#1e40af;margin-bottom:var(--space-8)}.info-card-text{font-size:var(--font-sm);color:#1e40af;line-height:var(--leading-relaxed)}@media (max-width: 640px){.main-card{padding:12px}.report-card{padding:var(--space-12);margin-bottom:var(--space-8);border-radius:var(--radius-md)}.report-metrics{gap:var(--space-16)}}@media (min-width: 768px){.main-card{padding:24px;max-width:1200px;margin:0 auto;width:100%}.report-card{padding:var(--space-20);margin-bottom:var(--space-16)}.widget{padding:var(--space-24)}}@keyframes fadeInUp{0%{opacity:0}to{opacity:1;transform:translateY(0)}}.modal-box{background-color:var(--color-gray-50);border-radius:var(--radius-xl);padding:var(--space-8);margin-bottom:1.5rem}.modal-overlay{position:fixed;inset:0;background-color:#00000080;z-index:2000;display:flex;align-items:center;justify-content:center;padding:var(--space-20)}.modal-report-wrapper{background:#fff;border-radius:24px;width:90%;max-width:400px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}.modal-report-body{flex:1;padding:var(--space-20);overflow-y:auto;overflow-x:hidden}.modal-report-body::-webkit-scrollbar{width:4px}.modal-report-body::-webkit-scrollbar-thumb{background:#0003;border-radius:2px}.modal-field-group{margin-bottom:var(--space-12)}.modal-label{font-size:var(--font-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:600}.modal-value{font-size:var(--font-sm);color:var(--color-text);font-weight:var(--font-medium)}@media (max-width: 640px){.modal-report-wrapper{max-height:80vh;width:95%}.modal-report-body{padding:var(--space-16)}}.dark .modal-report-wrapper{background:#1f2937}.modal-elegant{background:#fff;border-radius:16px;max-width:600px;width:90%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:20px 24px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.modal-title{font-size:18px;font-weight:600;color:#111827;margin:0}.modal-close{background:transparent;border:none;padding:4px;cursor:pointer;color:#6b7280;transition:all .2s;border-radius:6px;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:#fee2e2;color:#dc2626}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-field-group{margin-bottom:20px}.modal-field-group:last-child{margin-bottom:0}.modal-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 16px 16px;flex-shrink:0}.photo-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:8px}.photo-preview{position:relative;width:100%;padding-bottom:100%;background:#f3f4f6;border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .2s}.photo-preview:hover{transform:scale(1.05)}.photo-preview img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.form-input{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;transition:all .2s}.form-input:focus{outline:none;border-color:#1ba8db;box-shadow:0 0 0 3px #1ba8db1a}.form-input[type=file]{padding:6px}textarea.form-input{resize:vertical;min-height:80px}.checkbox-container{display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox-container input[type=checkbox]{width:18px;height:18px;margin-right:8px;cursor:pointer}.checkbox-label{font-size:14px;color:#4b5563}.modal-body .badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.modal-body .alert{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:start;gap:8px}.modal-body .alert-info{background:#dbeafe;color:#1e40af;border:1px solid #93c5fd}@media (max-width: 640px){.modal-elegant{width:95%;max-width:none;margin:10px}.photo-preview-grid{grid-template-columns:repeat(2,1fr)}.modal-body{padding:16px}}.dark .modal-close:hover{background:#7f1d1d;color:#fca5a5}.dark .modal-body{color:#e5e7eb}.dark .modal-label{color:#d1d5db}.dark .form-input{background:#374151;border-color:#4b5563;color:#f3f4f6}.dark .modal-footer{background:#111827;border-top-color:#374151}.text-sm{font-size:.875rem;line-height:1.25rem}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.mt-1{margin-top:.25rem}.modal-body .info-box{background:#f3f4f6;padding:12px;border-radius:6px;margin:15px 0}.modal-body .info-box p{font-size:13px;color:#6b7280;margin:0}.modal-body .vehicle-box{border:1px solid #e5e7eb;border-radius:6px;padding:12px}.modal-body .vehicle-box label{font-size:.875rem;color:#4b5563;display:block;margin-bottom:4px}.modal-body select[multiple]{min-height:80px}.modal-body small{font-size:.75rem;color:#6b7280;display:block}.dark .modal-body .info-box{background:#374151}.dark .modal-body .info-box p{color:#9ca3af}.dark .modal-body .vehicle-box{border-color:#4b5563;background:#374151}.dark .modal-body .vehicle-box label{color:#d1d5db}.dark .modal-body small{color:#9ca3af}.email-modal .modal-box{max-width:600px}.email-info-box{background:#1ba8db0d;padding:var(--space-16);border-radius:var(--radius-lg);margin-bottom:var(--space-20);border:1px solid rgba(27,168,219,.15)}.info-line{margin:var(--space-8) 0;display:flex;align-items:center;font-size:var(--font-base)}.info-label{font-weight:600;margin-right:var(--space-8);color:var(--color-text-secondary);min-width:80px}.info-value{color:var(--color-text)}.field-feedback{display:block;margin-top:var(--space-4);font-size:var(--font-sm)}.field-feedback.success{color:var(--color-success)}.badge-subappalto{background:var(--color-warning);color:#fff;padding:2px var(--space-8);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:600;margin-left:var(--space-8);text-transform:uppercase;letter-spacing:.5px;display:inline-block}.form-input.has-value{background-color:#2ecc710d;border-color:var(--color-success)}.required-mark{color:var(--color-danger);margin-left:var(--space-4)}.optional-label{color:var(--color-text-muted);font-weight:400;font-size:var(--font-sm)}.attachments-info{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);padding:var(--space-20);border-radius:var(--radius-lg);margin-top:var(--space-24);color:#fff}.attachments-title{margin:0 0 var(--space-12) 0;font-size:var(--font-lg);font-weight:600;color:#fff}.attachments-list{margin:0;padding:0;list-style:none}.attachment-item{padding:var(--space-8) 0;display:flex;align-items:center;color:#fffffff2;font-size:var(--font-base)}.attachment-icon{color:#4ade80;font-weight:700;margin-right:var(--space-8);font-size:1.2rem}@media (max-width: 640px){.email-modal .modal-box{max-width:calc(100% - var(--space-20));margin:var(--space-8)}.info-line{flex-direction:column;align-items:flex-start}.info-label{min-width:auto;margin-bottom:var(--space-4)}}.selector-container{display:flex;gap:var(--space-8);width:100%;max-width:400px;margin:0 auto;padding:var(--space-8) var(--space-16)}.selector-clean{flex:1;min-height:44px;padding:var(--space-10) var(--space-16);background:#10b9811a;color:var(--color-success, #10b981);border:1px solid rgba(16,185,129,.2);font-size:var(--font-lg);font-weight:var(--font-semibold);text-align:center;text-transform:uppercase;border-radius:var(--radius-md);cursor:pointer;transition:transform var(--transition-fast),opacity var(--transition-fast);outline:none;text-decoration:none;white-space:nowrap;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.selector-clean:hover{background:#10b98126;border-color:#10b9814d}.selector-clean:active{transform:scale(.95);opacity:.9}.selector-clean:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #10b9811a}.selector-clean option{background:var(--color-white);color:var(--color-text);padding:var(--space-8)}.dark .selector-clean{background:#10b98121;color:#86efac;border-color:#10b98154}.dark .selector-clean:hover{background:#10b98133;border-color:#10b98166}.dark .selector-clean:active{transform:scale(.95);opacity:.9}@media (max-width: 640px){.selector-container{max-width:100%;padding:var(--space-6) var(--space-12)}.selector-clean{font-size:var(--font-xl);padding:var(--space-8);min-height:40px}}@media (min-width: 768px){.selector-container{max-width:500px}.selector-clean{font-size:var(--font-xl);padding:var(--space-12);min-height:48px}}.webapp-header{--header-logo-height: 38px;--header-avatar-size: 42px;--header-padding-x: var(--space-16);--header-padding-y: var(--space-12);--header-min-height: 45px}.webapp-header{position:fixed;top:0;left:0;right:0;background:var(--color-white);padding:var(--header-padding-y) var(--header-padding-x);display:flex;align-items:center;justify-content:space-between;min-height:var(--header-min-height);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--color-gray-200);z-index:var(--z-fixed)}.webapp-header-content{width:100%;display:flex;align-items:center;justify-content:space-between}.webapp-logo-button{background:transparent;border:none;cursor:pointer;padding:0;display:flex;align-items:center;outline:none}.webapp-logo-button:active{opacity:.7}.webapp-logo-button.pressed{transform:scale(.95)}.webapp-header .webapp-logo-button .webapp-logo,.webapp-header .webapp-logo{display:block;height:var(--header-logo-height);max-height:var(--header-logo-height);width:auto;max-width:150px;-o-object-fit:contain;object-fit:contain}.webapp-avatar-button{background:transparent;border:none;cursor:pointer;padding:0;border-radius:var(--radius-full);outline:none}.webapp-avatar-button:active{opacity:.7}.webapp-avatar-button.pressed{transform:scale(.95)}.webapp-header .webapp-avatar-button .webapp-avatar-img{display:block;width:var(--header-avatar-size);height:var(--header-avatar-size);min-width:var(--header-avatar-size);min-height:var(--header-avatar-size);max-width:var(--header-avatar-size);max-height:var(--header-avatar-size);border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;border:2px solid var(--color-gray-300)}.webapp-header .webapp-avatar-button .webapp-avatar-placeholder{width:var(--header-avatar-size);height:var(--header-avatar-size);min-width:var(--header-avatar-size);min-height:var(--header-avatar-size);border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-base);font-weight:var(--font-semibold);border:2px solid var(--color-gray-300)}@media (min-width: 1024px){.webapp-header{--header-padding-x: var(--space-32)}}@media (max-width: 360px){.webapp-header{--header-logo-height: 32px;--header-avatar-size: 36px;--header-padding-x: var(--space-12);--header-padding-y: var(--space-8);--header-min-height: 44px}}@supports (padding-top: env(safe-area-inset-top)){.webapp-header{padding-top:calc(var(--header-padding-y) + env(safe-area-inset-top))}}@media (prefers-reduced-motion: no-preference){.webapp-logo-button,.webapp-avatar-button{transition:opacity var(--transition-fast),transform var(--transition-fast)}}@media print{.webapp-header{display:none}}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal, 500);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fadeIn .2s ease-out}.modal-elegant{background:var(--color-white, #ffffff);width:100%;max-width:100%;max-height:85vh;border-radius:24px 24px 0 0;display:flex;flex-direction:column;box-shadow:0 -10px 40px #00000026;animation:slideUp .3s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{padding:20px;border-bottom:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;align-items:center;flex-shrink:0;position:relative}.modal-header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;background:#00000026;border-radius:2px}.modal-title{font-size:18px;font-weight:600;color:var(--color-text-primary, #111827);margin:0;padding-top:8px}.modal-close{width:32px;height:32px;border-radius:50%;background:transparent;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;color:var(--color-text-muted, #6b7280)}.modal-close:active{background:#0000000d;transform:scale(.95)}.modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.modal-body::-webkit-scrollbar{width:3px}.modal-body::-webkit-scrollbar-thumb{background:#00000026;border-radius:3px}.modal-field-group{margin-bottom:24px}.modal-label{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #9ca3af);margin-bottom:8px}.form-input,.input-numeric-clean{width:100%;padding:12px 14px;border:1.5px solid rgba(0,0,0,.08);border-radius:12px;font-size:15px;background:#00000005;color:var(--color-text-primary, #111827);transition:all .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input:focus,.input-numeric-clean:focus{outline:none;border-color:var(--color-primary, #1BA8DB);background:#fff;box-shadow:0 0 0 4px #1ba8db14}select.form-input,select.input-numeric-clean{background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b7280' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}select[multiple]{min-height:100px;padding:8px;background-image:none}select[multiple] option{padding:6px 8px;border-radius:4px;margin:2px 0}select[multiple] option:checked{background:linear-gradient(0deg,#1ba8db1a 0% 100%)}textarea.form-input,textarea.input-numeric-clean{resize:vertical;min-height:80px;font-family:inherit}.report-card{background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:16px;padding:16px;margin-bottom:20px}.report-card .metric-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted, #9ca3af);margin-bottom:8px;display:block}.report-metrics{display:grid;gap:16px;grid-template-columns:1fr}.metric{display:flex;flex-direction:column}.vehicle-box{background:#fff;border:1.5px solid rgba(0,0,0,.08);border-radius:12px;padding:16px;margin-bottom:12px;position:relative}.vehicle-box .report-metrics{gap:12px}.vehicle-box .vld-btn-danger{position:absolute;top:8px;right:8px;width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:16px}.checkbox-wrapper{display:flex;align-items:center;padding:12px;background:#00000005;border-radius:12px;cursor:pointer;transition:background .2s}.checkbox-wrapper:active{background:#0000000d}.checkbox-wrapper input[type=checkbox]{width:20px;height:20px;margin-right:12px;cursor:pointer}.checkbox-wrapper .metric-label{margin:0;cursor:pointer}.modal-footer{padding:16px 20px;border-top:1px solid rgba(0,0,0,.06);background:#00000005;flex-shrink:0}.modal-footer .flex{display:flex;justify-content:space-between;align-items:center;gap:12px}@media (min-width: 640px){.modal-overlay{align-items:center;padding:20px}.modal-elegant{max-width:600px;max-height:90vh;border-radius:20px;animation:scaleIn .3s cubic-bezier(.4,0,.2,1)}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.modal-header:before{display:none}.modal-body{padding:24px}.report-metrics,.vehicle-box .report-metrics{grid-template-columns:repeat(2,1fr)}@media (hover: hover){.modal-close:hover{background:#ef44441a;color:#ef4444}.checkbox-wrapper:hover{background:#0000000a}}}@media (min-width: 768px){.vehicle-box .report-metrics{grid-template-columns:repeat(4,1fr)}}.dark .modal-elegant{background:#1f2937}.dark .modal-header{border-bottom-color:#ffffff1a}.dark .modal-header:before{background:#fff3}.dark .form-input,.dark .input-numeric-clean{background:#ffffff0d;border-color:#ffffff1a;color:#f3f4f6}.dark .form-input:focus,.dark .input-numeric-clean:focus{background:#ffffff14;border-color:var(--color-primary)}.dark .report-card{background:#ffffff08;border-color:#ffffff14}.dark .vehicle-box{background:#374151;border-color:#ffffff1a}.dark .checkbox-wrapper{background:#ffffff08}.dark .modal-footer{background:#0003;border-top-color:#ffffff1a}.dark select[multiple] option:checked{background:linear-gradient(0deg,#1ba8db33 0% 100%)}.field-error{border-color:#ef4444!important}.error-text{color:#ef4444;font-size:12px;margin-top:6px;display:block}.mt-2{margin-top:.5rem}.gap-2{gap:.5rem}.text-red-500{color:#ef4444}.w-full{width:100%}.info-box{background:#1ba8db14;border:1px solid rgba(27,168,219,.2);border-radius:12px;padding:12px 14px;margin-bottom:20px}.info-box p{margin:0;font-size:13px;color:var(--color-text-muted);line-height:1.5}.grid-2-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.section-divider{margin:24px 0 16px;padding-top:16px;border-top:1px solid rgba(0,0,0,.06);text-align:center}.section-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);background:#fff;padding:0 12px;position:relative;top:-24px}.vehicle-card{background:#00000005;border:1px solid rgba(0,0,0,.06);border-radius:12px;padding:16px;margin-bottom:12px}.vehicle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.vehicle-title{font-size:13px;font-weight:600;color:var(--color-text-primary)}.btn-remove-small{width:24px;height:24px;border-radius:50%;background:#ef4444;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;transition:all .2s}.btn-remove-small:active{transform:scale(.9)}.checkbox-group{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.checkbox-item{display:flex;align-items:center;padding:12px;background:#00000005;border-radius:12px;cursor:pointer;transition:background .2s}.checkbox-item:active{background:#0000000d}.checkbox-item input[type=checkbox]{width:20px;height:20px;margin-right:12px;cursor:pointer}.checkbox-item span{font-size:14px;color:var(--color-text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.info-badge{display:inline-block;padding:6px 12px;background:#fef3c7;color:#92400e;border-radius:8px;font-size:12px;font-weight:600}.help-text{display:block;font-size:12px;color:var(--color-text-muted);margin-top:6px;line-height:1.4}@media (max-width: 640px){.grid-2-cols{grid-template-columns:1fr;gap:12px}.vehicle-card{padding:12px}.section-divider{margin:20px 0 12px}}.dark .info-box{background:#1ba8db1a;border-color:#1ba8db4d}.dark .info-box p{color:#93c5fd}.dark .vehicle-card{background:#ffffff08;border-color:#ffffff14}.dark .checkbox-item{background:#ffffff08}.dark .info-badge{background:#92400e;color:#fef3c7}.dark .help-text{color:#9ca3af}.dark .section-title{background:#1f2937}.custom-multiselect{border:1.5px solid rgba(0,0,0,.08);border-radius:12px;background:#00000005;padding:8px;max-height:200px;overflow-y:auto}.custom-multiselect-item{display:flex;align-items:center;padding:10px 12px;margin:4px 0;border-radius:8px;cursor:pointer;transition:all .2s;background:#fff;border:1px solid transparent}.custom-multiselect-item:hover{background:#1ba8db0d}.custom-multiselect-item.selected{background:#1ba8db1a;border-color:var(--color-primary)}.custom-multiselect-item input[type=checkbox]{width:20px;height:20px;margin-right:12px;cursor:pointer;accent-color:var(--color-primary)}.custom-multiselect-item label{flex:1;cursor:pointer;font-size:14px;color:var(--color-text-primary);-webkit-user-select:none;-moz-user-select:none;user-select:none}.custom-multiselect-item.selected label{font-weight:600;color:var(--color-primary)}.multiselect-counter{display:inline-block;padding:4px 8px;background:var(--color-primary);color:#fff;border-radius:6px;font-size:11px;font-weight:600;margin-left:8px}.dark .custom-multiselect{background:#ffffff08;border-color:#ffffff1a}.dark .custom-multiselect-item{background:#1f2937}.dark .custom-multiselect-item:hover{background:#1ba8db1a}.dark .custom-multiselect-item.selected{background:#1ba8db26}.dark .custom-multiselect-item label{color:#e5e7eb}.dark .custom-multiselect-item.selected label{color:#60d5ff}.toggle-list{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.toggle-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#00000005;border-radius:12px;border:1px solid rgba(0,0,0,.06)}.toggle-info{flex:1;margin-right:16px}.toggle-label{display:block;font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:4px}.toggle-description{display:block;font-size:12px;color:var(--color-text-muted);line-height:1.4}.dark .toggle-list{background:transparent}.dark .toggle-item{background:#ffffff08;border-color:#ffffff14}.dark .toggle-label{color:#e5e7eb}.dark .toggle-description{color:#9ca3af}@media (max-width: 480px){.toggle-item{padding:10px 12px}.toggle-info{margin-right:12px}}.badge-responsabile{display:inline-block;padding:2px 6px;background:var(--color-primary);color:#fff;border-radius:4px;font-size:10px;font-weight:600;margin-left:8px;text-transform:uppercase}.dark .badge-responsabile{background:#60d5ff;color:#0f172a}.modal-footer .flex{width:100%}.modal-footer .flex>div{flex:1}.modal-footer .vld-btn{width:100%}.modal-footer .justify-between{display:grid;grid-template-columns:1fr 2fr;gap:8px;width:100%}.modal-footer .justify-between>div:last-child{display:grid;grid-template-columns:1fr 1fr;gap:8px}.modal-footer .flex.justify-between{display:flex;width:100%;gap:8px}.modal-footer .flex.justify-between>div:first-child{flex:0 0 30%}.modal-footer .flex.justify-between>div:last-child{flex:1;display:flex;gap:8px}.modal-footer .flex.justify-between .vld-btn{width:100%}.mb-3{margin-bottom:12px}.footer-tabbar{display:flex;align-items:stretch;background:transparent;border-radius:var(--radius-xl);padding:4px;position:relative;gap:4px;width:100%;max-width:500px;margin:0 auto}.footer-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 12px;flex-grow:1;flex-shrink:1;flex-basis:0;min-width:0;border-radius:var(--radius-lg);transition:var(--transition-fast);cursor:pointer;background:var(--color-primary, #1BA8DB);border:none;position:relative;text-decoration:none;color:#fff;min-height:56px;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.footer-tab-icon{font-size:24px;line-height:1;color:#fff;transition:transform .2s cubic-bezier(.34,1.56,.64,1);display:block}.footer-tab-label{font-size:11px;font-weight:var(--font-medium);color:#fff;transition:color .2s ease;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover: hover){.footer-tab:hover{background:#1ba8dbcc}.footer-tab:hover .footer-tab-icon{transform:scale(1.1)}}.footer-tab:active{transform:scale(.95)}@keyframes icon-bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.footer-tab:active .footer-tab-icon{animation:icon-bounce .3s cubic-bezier(.34,1.56,.64,1)}.footer-tab.active{background:#1ba8dbcc}.footer-tab.active:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:40%;height:4px;background:#fff;border-radius:var(--radius-full);box-shadow:0 2px 8px #ffffff80}.footer-tab.active .footer-tab-icon{color:#fff;transform:scale(1.1);text-shadow:0 1px 2px rgba(0,0,0,.1)}.footer-tab.active .footer-tab-label{color:#fff;font-weight:var(--font-bold);text-shadow:0 1px 2px rgba(0,0,0,.1)}.footer-badge{position:absolute;top:4px;right:8px;background:var(--color-danger);color:#fff;font-size:11px;font-weight:var(--font-bold);padding:2px 6px;border-radius:var(--radius-full);min-width:20px;height:20px;display:flex;align-items:center;justify-content:center;border:2px solid white;box-shadow:0 3px 8px #ef444480;line-height:1;z-index:1}@keyframes badge-pulse-enhanced{0%,to{transform:scale(1);box-shadow:0 3px 8px #ef444480}50%{transform:scale(1.15);box-shadow:0 4px 12px #ef4444b3}}.footer-badge.pulse{animation:badge-pulse-enhanced 1.5s ease-in-out infinite}.footer-tab-overflow{position:relative;flex-grow:1;flex-shrink:1;flex-basis:0;min-width:0;display:flex}.footer-tab-overflow .footer-tab{width:100%;flex-grow:1}.footer-tab-overflow .footer-tab-label{display:none}.footer-tab-overflow .footer-tab-icon{font-size:28px}.footer-tab-menu{position:absolute;bottom:calc(100% + 12px);right:0;background:#ffffffa6;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);border-radius:var(--radius-xl);box-shadow:0 -4px 20px #00000014;padding:8px;min-width:280px;display:grid;grid-template-columns:repeat(2,1fr);gap:8px;opacity:0;pointer-events:none;transform:translateY(10px) scale(.95);transition:all .25s cubic-bezier(.4,0,.2,1);z-index:var(--z-dropdown)}.footer-tab-menu.show{opacity:1;pointer-events:all;transform:translateY(0) scale(1)}.footer-tab-menu:after{content:"";position:absolute;bottom:-6px;right:20px;width:12px;height:12px;background:transparent;transform:rotate(45deg);box-shadow:none}.footer-menu-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:16px 12px;border-radius:var(--radius-lg);background:#fffc;border:none;transition:all .2s ease;cursor:pointer;text-decoration:none;color:#374151;min-height:80px;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.footer-menu-item:hover{background:#1ba8db26}.footer-menu-item:active{transform:scale(.95);background:#1ba8db40}.footer-menu-item-icon{font-size:28px;line-height:1;flex-shrink:0;text-align:center;color:#374151}.footer-menu-item-label{font-size:12px;font-weight:var(--font-medium);color:#374151;text-align:center;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-menu-divider{grid-column:1 / -1;width:100%;height:1px;background:var(--color-gray-200);margin:4px 0}@media (max-width: 375px){.footer-tab{min-width:50px;padding:6px 8px}.footer-tab-icon{font-size:22px}.footer-tab-label{font-size:10px}.footer-tab-menu{min-width:260px;right:-10px}.footer-menu-item{padding:12px 10px;min-height:70px}.footer-menu-item-icon{font-size:24px}.footer-menu-item-label{font-size:11px}}@media (min-width: 376px) and (max-width: 767px){.footer-tab{min-width:60px;max-width:90px}.footer-tab-icon{font-size:26px}}@media (min-width: 768px){.footer-tabbar{max-width:600px;margin:0 auto;padding:6px}.footer-tab{min-width:80px;padding:10px 16px}.footer-tab-icon{font-size:28px}.footer-tab-label{font-size:12px}.footer-tab-menu{min-width:320px;gap:10px}.footer-menu-item{padding:18px 14px;min-height:90px}.footer-menu-item-icon{font-size:32px}.footer-menu-item-label{font-size:13px}}@media (min-width: 1024px){.footer-tabbar{max-width:700px}.footer-tab{min-width:90px}}.dark .footer-tabbar{background:transparent}.dark .footer-tab{background:var(--color-primary, #1BA8DB);color:#fff}.dark .footer-tab-icon,.dark .footer-tab-label{color:#fff}.dark .footer-tab:hover,.dark .footer-tab.active{background:#1ba8dbcc}.dark .footer-tab.active .footer-tab-icon{color:#fff}.dark .footer-tab.active .footer-tab-label{color:#fff;font-weight:var(--font-bold)}.dark .footer-tab-menu{background:#1f2937cc;backdrop-filter:blur(12px) saturate(150%);-webkit-backdrop-filter:blur(12px) saturate(150%);box-shadow:0 -4px 20px #0006}.dark .footer-tab-menu:after{background:transparent}.dark .footer-menu-item{background:#37415199;color:#e5e7eb}.dark .footer-menu-item:hover{background:#1ba8db40}.dark .footer-menu-item:active{background:#1ba8db59}.dark .footer-menu-item-icon,.dark .footer-menu-item-label{color:#e5e7eb}.footer-tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.footer-menu-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}@media (prefers-reduced-motion: reduce){.footer-tab,.footer-tab-icon,.footer-tab-label,.footer-tab-menu,.footer-menu-item{transition:none;animation:none}.footer-badge.pulse{animation:none}}@media (prefers-contrast: high){.footer-tab{border:1px solid currentColor}.footer-tab.active{border-width:2px}}.webapp-fab{position:fixed;bottom:28px;right:20px;z-index:var(--z-fab, 400);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.webapp-fab-button{background:transparent;border:none;cursor:pointer;padding:0;margin:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease;-moz-user-select:none;user-select:none;-webkit-user-select:none}.webapp-fab-icon{color:#8b5cf6;font-size:64px;line-height:1;font-weight:500;display:block;position:relative;top:-2px}@media (hover: hover){.webapp-fab-button:hover{transform:scale(1.15);opacity:.8}}.webapp-fab-button:active{transform:scale(.95);opacity:.6}.webapp-fab-button.loading{pointer-events:none;opacity:.7}.webapp-fab-button.loading .webapp-fab-icon{animation:fab-press .6s ease-in-out infinite}@keyframes fab-press{0%,to{transform:scale(1)}50%{transform:scale(.85)}}@media (max-width: 375px){.webapp-fab{bottom:24px;right:16px}.webapp-fab-button{width:56px;height:56px}.webapp-fab-icon{font-size:56px}}@media (min-width: 768px){.webapp-fab{bottom:32px;right:24px}.webapp-fab-button{width:72px;height:72px}.webapp-fab-icon{font-size:72px}}@media (min-width: 1024px){.webapp-fab{left:50%;right:auto;transform:translate(560px)}}@media (display-mode: standalone){.webapp-fab{bottom:calc(env(safe-area-inset-bottom,0) + 20px)}}.dark .webapp-fab-icon{color:#a78bfa}.webapp-fab-button:focus-visible{outline:3px solid rgba(139,92,246,.5);outline-offset:4px}@media (prefers-reduced-motion: reduce){.webapp-fab-button,.webapp-fab-icon{transition:none;animation:none}}.webapp-fab-label{position:absolute;right:calc(100% + 12px);top:50%;transform:translateY(-50%);background:#000c;color:#fff;padding:8px 12px;border-radius:8px;font-size:14px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}.webapp-fab:hover .webapp-fab-label{opacity:1}.dark .webapp-fab-label{background:#ffffffe6;color:#1f2937}:root{--z-fab: 400}.webapp-action-btn{position:fixed;z-index:var(--z-fab, 400);-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.webapp-action-btn.position-bottom-left{bottom:28px;left:20px}.webapp-action-btn.position-bottom-right{bottom:28px;right:20px}.webapp-action-btn.position-bottom-center{bottom:28px;left:50%;transform:translate(-50%)}.webapp-action-btn button,.webapp-action-btn a{background:transparent;border:none;cursor:pointer;text-decoration:none;padding:0;margin:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease;-moz-user-select:none;user-select:none;-webkit-user-select:none}.webapp-action-btn button,.webapp-action-btn a{color:#3b82f6}.webapp-action-btn.variant-primary button,.webapp-action-btn.variant-primary a{color:var(--color-primary, #1BA8DB)}.webapp-action-btn.variant-danger button,.webapp-action-btn.variant-danger a{color:#ef4444}.webapp-action-btn.variant-success button,.webapp-action-btn.variant-success a{color:#10b981}.webapp-action-btn-icon{font-size:64px;line-height:1;font-weight:500;display:block;position:relative;top:-2px}@media (hover: hover){.webapp-action-btn button:hover,.webapp-action-btn a:hover{transform:scale(1.15);opacity:.8}}.webapp-action-btn button:active,.webapp-action-btn a:active{transform:scale(.95);opacity:.6}.webapp-action-btn button.loading,.webapp-action-btn a.loading{pointer-events:none;opacity:.6}.webapp-action-btn button.loading .webapp-action-btn-icon,.webapp-action-btn a.loading .webapp-action-btn-icon{animation:action-btn-spin 1s linear infinite}@keyframes action-btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 375px){.webapp-action-btn.position-bottom-left,.webapp-action-btn.position-bottom-right,.webapp-action-btn.position-bottom-center{bottom:24px}.webapp-action-btn.position-bottom-left{left:16px}.webapp-action-btn.position-bottom-right{right:16px}.webapp-action-btn button,.webapp-action-btn a{width:56px;height:56px}.webapp-action-btn-icon{font-size:56px}}@media (min-width: 768px){.webapp-action-btn.position-bottom-left,.webapp-action-btn.position-bottom-right,.webapp-action-btn.position-bottom-center{bottom:32px}.webapp-action-btn.position-bottom-left{left:24px}.webapp-action-btn.position-bottom-right{right:24px}.webapp-action-btn button,.webapp-action-btn a{width:72px;height:72px}.webapp-action-btn-icon{font-size:72px}}@media (min-width: 1024px){.webapp-action-btn.position-bottom-left,.webapp-action-btn.position-bottom-right{left:50%;right:auto}.webapp-action-btn.position-bottom-left{transform:translate(-580px)}.webapp-action-btn.position-bottom-right{transform:translate(528px)}}@media (display-mode: standalone){.webapp-action-btn.position-bottom-left,.webapp-action-btn.position-bottom-right,.webapp-action-btn.position-bottom-center{bottom:calc(env(safe-area-inset-bottom,0) + 20px)}}.dark .webapp-action-btn button,.dark .webapp-action-btn a{color:#60a5fa}.dark .webapp-action-btn.variant-primary button,.dark .webapp-action-btn.variant-primary a{color:#3dd5f3}.dark .webapp-action-btn.variant-danger button,.dark .webapp-action-btn.variant-danger a{color:#fca5a5}.dark .webapp-action-btn.variant-success button,.dark .webapp-action-btn.variant-success a{color:#6ee7b7}.webapp-action-btn button:focus-visible,.webapp-action-btn a:focus-visible{outline:3px solid rgba(27,168,219,.5);outline-offset:4px}@media (prefers-reduced-motion: reduce){.webapp-action-btn button,.webapp-action-btn a,.webapp-action-btn-icon{transition:none;animation:none}}@media (prefers-contrast: high){.webapp-action-btn button,.webapp-action-btn a{border-width:2px}}.webapp-action-btn-label{position:absolute;background:#000000d9;color:#fff;padding:6px 10px;border-radius:6px;font-size:13px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease}.webapp-action-btn.position-bottom-left .webapp-action-btn-label,.webapp-action-btn.position-bottom-right .webapp-action-btn-label,.webapp-action-btn.position-bottom-center .webapp-action-btn-label{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.webapp-action-btn:hover .webapp-action-btn-label{opacity:1}.dark .webapp-action-btn-label{background:#ffffffe6;color:#1f2937}.webapp-action-footer{position:fixed;bottom:5px;left:20px;right:20px;z-index:var(--z-fab, 400);display:flex;justify-content:space-between;align-items:center;pointer-events:none}.webapp-action-footer-left,.webapp-action-footer-right{pointer-events:auto}.webapp-action-footer-btn{background:#fffffff2;border:none;border-radius:50%;cursor:pointer;text-decoration:none;padding:0;margin:0;width:64px;height:64px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,opacity .2s ease,box-shadow .2s ease;box-shadow:0 2px 8px #00000026;-moz-user-select:none;user-select:none;-webkit-user-select:none}.webapp-action-footer-left .webapp-action-footer-btn{width:80px;height:80px}.webapp-action-footer-icon{font-size:64px;line-height:1;font-weight:500;display:block;color:#3b82f6}.webapp-action-footer-left .webapp-action-footer-icon{font-size:80px}.webapp-action-footer-btn-primary .webapp-action-footer-icon{color:#8b5cf6}@media (hover: hover){.webapp-action-footer-btn:hover{transform:scale(1.15);box-shadow:0 4px 12px #00000040}}.webapp-action-footer-btn:active{transform:scale(.95);box-shadow:0 1px 4px #0003}.webapp-action-footer-btn.loading{pointer-events:none;opacity:.7}.webapp-action-footer-btn.loading .webapp-action-footer-icon{animation:footer-btn-press .6s ease-in-out infinite}@keyframes footer-btn-press{0%,to{transform:scale(1)}50%{transform:scale(.85)}}@media (max-width: 375px){.webapp-action-footer{bottom:10px;left:16px;right:16px}.webapp-action-footer-btn{width:56px;height:56px}.webapp-action-footer-left .webapp-action-footer-btn{width:70px;height:70px}.webapp-action-footer-icon{font-size:56px}.webapp-action-footer-left .webapp-action-footer-icon{font-size:70px}}@media (min-width: 768px){.webapp-action-footer{bottom:16px;left:24px;right:24px}.webapp-action-footer-btn{width:72px;height:72px}.webapp-action-footer-left .webapp-action-footer-btn{width:90px;height:90px}.webapp-action-footer-icon{font-size:72px}.webapp-action-footer-left .webapp-action-footer-icon{font-size:90px}}@media (min-width: 1024px){.webapp-action-footer{left:50%;right:auto;width:1200px;max-width:calc(100% - 48px);transform:translate(-50%)}}@media (display-mode: standalone){.webapp-action-footer{bottom:calc(env(safe-area-inset-bottom,0) + 20px)}}.dark .webapp-action-footer-btn{background:#1f2937f2;box-shadow:0 2px 8px #0000004d}.dark .webapp-action-footer-icon{color:#60a5fa}.dark .webapp-action-footer-btn-primary .webapp-action-footer-icon{color:#a78bfa}.dark .webapp-action-footer-btn:hover{box-shadow:0 4px 12px #0006}.dark .webapp-action-footer-btn:active{box-shadow:0 1px 4px #0000004d}.webapp-action-footer-btn:focus-visible{outline:3px solid rgba(59,130,246,.5);outline-offset:4px}.webapp-action-footer-btn-primary:focus-visible{outline:3px solid rgba(139,92,246,.5)}@media (prefers-reduced-motion: reduce){.webapp-action-footer-btn,.webapp-action-footer-icon{transition:none;animation:none}}.dashboard-container{padding:var(--space-16);overflow-y:auto;height:100%}.dashboard-grid{display:grid;grid-template-columns:1fr;gap:12px;grid-auto-rows:minmax(180px,200px);padding-bottom:150px;padding-left:8px;padding-right:8px}.widget{padding:var(--space-16);border-radius:var(--radius-lg);color:#fff;position:relative;overflow:hidden;height:100%;min-height:180px;max-height:200px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 2px 8px #0000001f;transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);-moz-user-select:none;user-select:none;-webkit-user-select:none;animation:fadeIn .4s ease-out backwards}.widget-clickable{cursor:pointer}@media (hover: hover){.widget-clickable:hover{transform:scale(1.02);box-shadow:0 4px 16px #00000029}}.widget-clickable:active{transform:scale(.98);box-shadow:0 1px 4px #00000014}.widget-gradient-blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.widget-gradient-green{background:linear-gradient(135deg,#10b981,#059669)}.widget-gradient-teal{background:linear-gradient(135deg,#14b8a6,#0d9488)}.widget-gradient-orange{background:linear-gradient(135deg,#f97316,#ea580c)}.widget-gradient-red{background:linear-gradient(135deg,#ef4444,#dc2626)}.widget-blue{background:linear-gradient(135deg,#667eea,#764ba2)}.widget-green{background:linear-gradient(135deg,#22c55e,#16a34a)}.widget-orange{background:linear-gradient(135deg,#fb923c,#ea580c)}.widget-purple{background:linear-gradient(135deg,#9f7aea,#805ad5)}.widget-teal{background:linear-gradient(135deg,#0fb9b1,#2bcbba)}.widget-content{width:100%;z-index:1;position:relative}.text-widget-label{font-size:var(--font-sm);color:#ffffffe6;opacity:.95;text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-8);font-weight:600}.text-widget-value{font-size:2.5rem;font-weight:700;color:#fff;margin-bottom:var(--space-4);text-shadow:0 1px 2px rgba(0,0,0,.1)}.text-widget-sublabel{font-size:.75rem;color:#fffc;opacity:.85}.widget-progress-bar{margin-top:3px;background:#fff3;border-radius:999px;height:6px;overflow:hidden}.widget-progress-bar-fill{background:#fff;height:100%;border-radius:999px}.widget-progress-text{font-size:10px;opacity:.75;margin-top:4px}.text-widget-value-negative{color:#fef3c7}.skeleton{background:linear-gradient(90deg,#ffffff1a,#fff3,#ffffff1a);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-label{height:14px;width:60%;margin-bottom:var(--space-8)}.skeleton-value{height:40px;width:80%;margin-bottom:var(--space-4)}.skeleton-sublabel{height:12px;width:70%}.skeleton-progress{height:6px;width:100%;margin-top:3px;border-radius:999px}.widget-content>div{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.text-widget-value,.text-widget-sublabel{transition:opacity .2s ease-in-out}@keyframes pulse-subtle{0%,to{opacity:1}50%{opacity:.95}}.widget-progress-bar-fill{transition:width .5s cubic-bezier(.4,0,.2,1)}@keyframes numberChange{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.widget-clickable:focus-visible{outline:3px solid rgba(255,255,255,.5);outline-offset:2px}.widget-updating .text-widget-value{animation:pulse-subtle .6s ease-in-out}.dashboard-grid .widget:nth-child(1){animation-delay:0s}.dashboard-grid .widget:nth-child(2){animation-delay:.1s}.dashboard-grid .widget:nth-child(3){animation-delay:.2s}.widget-tooltip{position:relative;display:inline-block}.widget-tooltip-text{visibility:hidden;opacity:0;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:12px;font-weight:400;white-space:nowrap;z-index:1000;pointer-events:none;transition:opacity .2s ease-in-out,visibility .2s ease-in-out;box-shadow:0 4px 12px #0000004d}.widget-tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6}.widget-tooltip:hover .widget-tooltip-text{visibility:visible;opacity:1}.widget-info-icon{display:inline-block;width:16px;height:16px;line-height:16px;text-align:center;background:#fff3;border-radius:50%;font-size:12px;margin-left:6px;cursor:help;vertical-align:middle;transition:background .2s ease}.widget-info-icon:hover{background:#ffffff4d}@media (max-width: 768px){.widget-tooltip-text{bottom:auto;top:125%;left:0;transform:none;white-space:normal;max-width:200px}.widget-tooltip-text:after{top:auto;bottom:100%;left:20px;transform:none;border-top-color:transparent;border-bottom-color:#000000e6}}@media (min-width: 768px){.dashboard-grid{grid-template-columns:repeat(2,1fr);gap:16px;grid-auto-rows:minmax(190px,210px);padding-left:12px;padding-right:12px}.widget{min-height:190px;max-height:210px}}@media (min-width: 1024px){.dashboard-grid{grid-template-columns:repeat(3,1fr);gap:16px;grid-auto-rows:minmax(180px,200px);max-width:1200px;margin:0 auto;padding-left:16px;padding-right:16px}.widget{min-height:180px;max-height:200px}}@media (max-width: 480px){.dashboard-grid{gap:10px;grid-auto-rows:minmax(170px,190px);padding-left:6px;padding-right:6px}.widget{min-height:170px;max-height:190px;padding:var(--space-12)}.text-widget-value{font-size:var(--font-2xl)}}@media (prefers-reduced-motion: reduce){.widget,.widget-clickable,.widget-content>div,.text-widget-value,.text-widget-sublabel,.widget-progress-bar-fill,.widget-tooltip-text,.widget-info-icon{animation:none;transition:none}.widget-clickable:active{transition:opacity .1s}.widget-tooltip:hover .widget-tooltip-text{transition:none}}.webapp-spese-view{height:100%;display:flex;flex-direction:column}.main-card{flex:1;display:flex;flex-direction:column;background:transparent;border-radius:0;overflow:hidden}.spese-container{flex:1;display:flex;flex-direction:column;height:100%}.spese-status-section{padding:var(--space-16);background:transparent}.month-status-bar{margin-bottom:var(--space-12)}.status-confirmed{background:#10b9811a;border:1px solid #10b981;display:flex;align-items:center;justify-content:space-between;padding:var(--space-12) var(--space-16);border-radius:var(--radius-md)}.status-confirmed .status-content{display:flex;align-items:center;gap:var(--space-12)}.status-confirmed .status-icon{width:24px;height:24px;color:#10b981;flex-shrink:0}.status-confirmed .status-text{display:flex;flex-direction:column;gap:2px}.status-confirmed .status-title{font-size:var(--font-base);font-weight:var(--font-semibold);color:#065f46}.status-confirmed .status-subtitle{font-size:var(--font-xs);color:#047857}.status-confirmed .status-badge{background:#065f46;color:#fff;padding:var(--space-4) var(--space-12);border-radius:var(--radius-lg);font-size:var(--font-xs);font-weight:var(--font-semibold);text-transform:uppercase}.status-pending{background:#fbbf241a;border:1px solid #fbbf24;display:flex;align-items:center;justify-content:space-between;padding:var(--space-12) var(--space-16);border-radius:var(--radius-md)}.status-pending .status-content{display:flex;align-items:center;gap:var(--space-12)}.status-pending .status-icon{width:24px;height:24px;color:#f59e0b;flex-shrink:0}.status-pending .status-text{display:flex;flex-direction:column;gap:2px}.status-pending .status-title{font-size:var(--font-base);font-weight:var(--font-semibold);color:#92400e}.status-pending .status-subtitle{font-size:var(--font-xs);color:#b45309}.status-empty{background:#9ca3af1a;border:1px solid #d1d5db;display:flex;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);color:#6b7280;font-size:var(--font-base)}.status-empty .status-icon{width:20px;height:20px;color:#9ca3af}.alert-success{margin-bottom:var(--space-12);padding:var(--space-12);background-color:#d1fae5;border:1px solid #86efac;color:#065f46;border-radius:var(--radius-md);font-size:var(--font-base)}.alert-error{margin-bottom:var(--space-12);padding:var(--space-12);background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b;border-radius:var(--radius-md);font-size:var(--font-base)}.spese-content{flex:1;overflow-y:auto;padding:0 var(--space-16) var(--space-16);-webkit-overflow-scrolling:touch}.vld-ricevute-list{display:flex;flex-direction:column;gap:var(--space-8)}.vld-ricevuta-row{display:grid;grid-template-columns:65px 1fr auto 24px;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);min-height:56px;background:#fff;border:1px solid var(--color-gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.vld-ricevuta-row.ricevuta-locked{background:#9ca3af0d;border-color:#d1d5db;cursor:not-allowed;opacity:.8}.vld-ricevuta-row.ricevuta-locked:hover{background:#9ca3af0d;border-color:#d1d5db;transform:none}.vld-ricevuta-row:not(.ricevuta-locked):active{background:var(--color-gray-100);transform:scale(.98)}.vld-ricevuta-row:not(.ricevuta-locked):hover{background:#fafbfc;border-color:var(--color-primary)}.vld-ricevuta-row__date{font-size:var(--font-sm);color:var(--color-gray-600);font-weight:var(--font-medium)}.vld-ricevuta-row__category{flex:1;min-width:0}.vld-category-badge{display:inline-block;padding:var(--space-4) var(--space-10);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.vld-category-badge--carburante{background:#fef3c7;color:#92400e}.vld-category-badge--trasporto{background:#dbeafe;color:#1e40af}.vld-category-badge--cibo{background:#fed7aa;color:#9a3412}.vld-category-badge--alloggio{background:#e9d5ff;color:#6b21a8}.vld-category-badge--attrezzature{background:#d1fae5;color:#065f46}.vld-category-badge--forniture{background:#fee2e2;color:#991b1b}.vld-category-badge--altro{background:var(--color-gray-100);color:var(--color-gray-700)}.vld-ricevuta-row__amount{font-weight:var(--font-semibold);font-size:var(--font-base);color:var(--color-gray-900);text-align:right}.vld-icon-arrow,.vld-icon-lock{width:20px;height:20px;color:var(--color-gray-400);flex-shrink:0}.vld-icon-lock{color:#9ca3af}.vld-empty-state{text-align:center;padding:var(--space-40) var(--space-20)}.vld-empty-state__icon{width:48px;height:48px;color:var(--color-gray-300);margin:0 auto var(--space-16)}.vld-empty-state__text{color:var(--color-gray-500);font-size:var(--font-base)}.loading-overlay{position:fixed;inset:0;background:#ffffffe6;display:flex;align-items:center;justify-content:center;z-index:10000}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.spese-status-section,.spese-content{padding:var(--space-12)}.status-pending{flex-direction:column;align-items:flex-start;gap:var(--space-12)}.status-confirmed{flex-direction:column;align-items:flex-start;gap:var(--space-8)}.status-confirmed .status-badge{align-self:flex-end}.vld-ricevuta-row{padding:var(--space-10) var(--space-12);gap:var(--space-8)}}@media (max-width: 480px){.status-text,.status-subtitle{font-size:var(--font-xs)}}@supports (-webkit-touch-callout: none){.spese-content{-webkit-overflow-scrolling:touch;transform:translateZ(0)}}.vld-ricevute-list{transform:translateZ(0);backface-visibility:hidden;will-change:scroll-position}.vld-ricevuta-row{transform:translateZ(0);touch-action:manipulation}.alert-warning{padding:var(--space-16);background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-lg);margin-bottom:var(--space-16)}.alert-warning .status-icon{color:#f59e0b}.status-pending .status-subtitle{font-size:var(--font-xs);color:#b45309;line-height:1.4}.status-pending .status-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.status-warning{display:inline-flex;align-items:center;gap:4px;color:#ef4444;font-weight:600;line-height:1.2}@media (max-width: 767px){.status-pending{flex-direction:column;align-items:stretch;gap:var(--space-12)}.status-pending .status-content{width:100%}.status-warning{display:block;margin-top:4px}.status-warning{display:block;margin-top:4px;word-break:break-word;line-height:1.3}.status-pending .status-subtitle{display:block;word-wrap:break-word;max-width:100%}.alert-error{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);margin-top:var(--space-12);word-wrap:break-word}}.reports-list{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-16);background:transparent}.report-card{background:#fff;border:1px solid rgba(27,168,219,.2);border-radius:var(--radius-lg);padding:var(--space-16);box-shadow:0 2px 8px #1ba8db1a;cursor:pointer}.report-card:hover{background:#fafbfc;border-color:var(--color-primary);box-shadow:0 4px 12px #1ba8db26}.report-card:active{opacity:.9}.report-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-16)}.report-main{flex:1;min-width:0}.report-date{font-weight:var(--font-bold);font-size:var(--font-sm);color:var(--color-text);margin-bottom:var(--space-6)}.report-details{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-8)}.report-client{font-size:var(--font-sm);color:var(--color-text-muted)}.report-commessa{font-size:var(--font-xs);color:var(--color-text-light)}.report-metrics{display:flex;gap:var(--space-16);flex-wrap:wrap;padding-top:var(--space-12);margin-top:var(--space-12);border-top:1px solid var(--color-gray-100)}.metric{display:flex;align-items:baseline;gap:var(--space-4)}.metric-label{font-size:var(--font-xs);color:var(--color-text-muted);text-transform:uppercase;font-weight:var(--font-semibold)}.metric-value{font-size:var(--font-sm);color:var(--color-text);font-weight:var(--font-bold)}.report-badges{display:flex;flex-direction:column;gap:var(--space-6);align-items:flex-end;min-width:100px}.badge,.report-badge,.командировка{display:inline-block;padding:var(--space-4) var(--space-8);font-size:var(--font-xs);font-weight:var(--font-semibold);border-radius:var(--radius-md);white-space:nowrap;text-align:center;min-width:80px}.badge-blue{background-color:#dbeafe;color:#1e40af}.badge-green,.командировка{background-color:#d1fae5;color:#166534}.badge-red{background-color:#fee2e2;color:#991b1b}.badge-yellow{background-color:#fef3c7;color:#92400e}.alert-success,.alert-error{margin:var(--space-16);padding:var(--space-16);border-radius:var(--radius-lg);font-weight:var(--font-medium);font-size:var(--font-base)}.alert-success{background-color:#d1fae5;border:2px solid #86efac;color:#166534}.alert-error{background-color:#fee2e2;border:2px solid #fca5a5;color:#991b1b}@media (max-width: 768px){.reports-list{padding:var(--space-12);gap:var(--space-8)}.report-card{padding:var(--space-12);border-radius:var(--radius-md)}.report-metrics{gap:var(--space-12)}}@media (min-width: 768px) and (max-width: 1023px){.report-card{padding:var(--space-20)}}@media (min-width: 1024px){.report-card{padding:var(--space-24)}}@supports (-webkit-touch-callout: none){.reports-list{-webkit-overflow-scrolling:touch;transform:translateZ(0)}.main-card{padding-bottom:calc(120px + env(safe-area-inset-bottom))}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reports-list{transform:translateZ(0);backface-visibility:hidden;will-change:scroll-position}.report-card{transform:translateZ(0);touch-action:manipulation}.badge-gray{background-color:#f3f4f6;color:#6b7280}.badge-purple{background-color:#ede9fe;color:#7c3aed}.badge-pink{background-color:#fce7f3;color:#ec4899}.badge-orange{background-color:#fed7aa;color:#ea580c}.badge-indigo{background-color:#e0e7ff;color:#4f46e5}.settings-container{width:100%;padding:0}.settings-container .main-card{padding-top:var(--space-24);padding-bottom:120px;padding-left:var(--space-24);padding-right:var(--space-24)}.settings-title{font-size:var(--font-xl);font-weight:var(--font-semibold);margin:var(--space-32) 0 var(--space-20) 0;color:var(--color-text)}.settings-title:first-of-type{margin-top:0}.page-title{font-size:var(--font-2xl);font-weight:var(--font-bold);margin-bottom:var(--space-24);color:var(--color-text)}.avatar-container{display:flex;justify-content:center;margin-bottom:var(--space-24)}.avatar-settings{width:80px;height:80px;border-radius:var(--radius-md);-o-object-fit:cover;object-fit:cover;box-shadow:var(--shadow-md);border:2px solid var(--color-gray-200)}.avatar-placeholder-settings{width:80px;height:80px;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-3xl);font-weight:var(--font-bold);box-shadow:var(--shadow-md)}.avatar-large{width:80px;height:80px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover}.avatar-placeholder-large{width:80px;height:80px;border-radius:var(--radius-full);background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-3xl);font-weight:var(--font-bold)}.button-group,.theme-buttons,.language-buttons{display:flex;gap:var(--space-8);flex-wrap:wrap;margin-bottom:var(--space-32)}.button-group .vld-btn.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.settings-section{margin-bottom:var(--space-32);padding-bottom:var(--space-32);border-bottom:1px solid var(--color-gray-200)}.settings-section:last-child{border-bottom:none}.settings-label{display:block;font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text-muted);margin-bottom:var(--space-8);text-transform:uppercase;letter-spacing:.5px}.alert-success{padding:var(--space-16);background:#10b9811a;color:#065f46;border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-md);margin-bottom:var(--space-16);font-size:var(--font-base)}.settings-list{display:flex;flex-direction:column;gap:var(--space-4)}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-12) var(--space-16);background:var(--color-gray-50);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.settings-item:active{background:var(--color-gray-100);transform:scale(.98)}.settings-item-label{font-size:var(--font-base);color:var(--color-text)}.settings-item-value{font-size:var(--font-sm);color:var(--color-text-muted)}.danger-zone{margin-top:var(--space-40);padding:var(--space-20);background:#ef44440d;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md)}.danger-zone-title{font-size:var(--font-lg);font-weight:var(--font-semibold);color:var(--color-danger);margin-bottom:var(--space-12)}.danger-zone-text{font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-16)}@media (max-width: 640px){.settings-container .main-card{padding-left:var(--space-16);padding-right:var(--space-16);padding-bottom:100px}}@media (min-width: 768px){.avatar-settings,.avatar-placeholder-settings,.avatar-large,.avatar-placeholder-large{width:100px;height:100px;font-size:var(--font-4xl)}.settings-container{max-width:600px;margin:0 auto}}@media (min-width: 1024px){.avatar-settings,.avatar-placeholder-settings,.avatar-large,.avatar-placeholder-large{width:120px;height:120px;font-size:var(--font-5xl)}}@media (max-width: 360px){.avatar-settings,.avatar-placeholder-settings,.avatar-large,.avatar-placeholder-large{width:60px;height:60px;font-size:var(--font-2xl)}}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-gray-50);padding:var(--space-16)}.login-box{width:100%;max-width:90vw;background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-20) var(--space-16);box-shadow:var(--shadow-lg);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.logo-login{display:block;margin:0 auto var(--space-20);max-width:180px;height:auto}.login-form{display:flex;flex-direction:column;gap:var(--space-12)}.form-input-login{width:100%;padding:var(--space-12);font-size:max(16px,var(--font-base));border:2px solid var(--color-gray-200);border-radius:var(--radius-md);background:var(--color-white);transition:all var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none}.form-input-login:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db1a}.form-input-login::-moz-placeholder{color:var(--color-gray-400)}.form-input-login::placeholder{color:var(--color-gray-400)}.remember-container{display:flex;align-items:center;margin:var(--space-12) 0;justify-content:flex-start}input[type=checkbox].checkbox-input,input[type=checkbox].remember-checkbox{width:20px;height:20px;margin-right:var(--space-8);cursor:pointer;-webkit-appearance:checkbox;-moz-appearance:checkbox;appearance:checkbox}.remember-label,.form-label-sm{font-size:var(--font-base);color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}input[type=checkbox].checkbox-input:focus,input[type=checkbox].remember-checkbox:focus{outline:2px solid var(--color-primary);outline-offset:2px}.btn-login{width:100%;min-height:44px;padding:var(--space-12);border:none;font-size:var(--font-lg);font-weight:var(--font-semibold);border-radius:var(--radius-md);color:#fff;background-color:var(--color-primary);transition:all var(--transition-fast);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn-login:active{transform:scale(.98);background-color:var(--color-primary-dark)}.btn-login:disabled{opacity:.5;cursor:not-allowed;transform:none}.error-text,.error-field{display:block;margin-top:var(--space-4);font-size:var(--font-xs);color:var(--color-danger)}.error-box{border-radius:var(--radius-md);background-color:#ef44441a;padding:var(--space-12);border:2px solid rgba(239,68,68,.2);margin-bottom:var(--space-16)}.error-message{font-size:var(--font-sm);color:var(--color-danger);text-align:center;display:flex;align-items:center;gap:var(--space-8)}.error-icon{width:20px;height:20px;flex-shrink:0}.forgot-password{display:block;text-align:center;margin-top:var(--space-16);font-size:var(--font-sm);color:var(--color-primary);text-decoration:none}.forgot-password:active{opacity:.7}@media (min-width: 768px){.login-container{padding:var(--space-32)}.login-box{max-width:400px;padding:var(--space-40) var(--space-32)}.logo-login{max-width:200px;margin-bottom:var(--space-32)}.form-input-login{padding:var(--space-14) var(--space-16)}.btn-login{padding:var(--space-14);min-height:48px}}@media (min-width: 1024px){.login-box{max-width:450px;padding:var(--space-48) var(--space-40)}}@media (max-width: 360px){.login-box{padding:var(--space-16) var(--space-12)}.logo-login{max-width:150px}.btn-login{font-size:var(--font-base)}}.login-loading{display:inline-block;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .6s linear infinite}.security-notice{margin-top:var(--space-24);padding-top:var(--space-24);border-top:1px solid var(--color-gray-200);text-align:center;font-size:var(--font-xs);color:var(--color-text-muted)}@supports (-webkit-touch-callout: none){.btn-login:active{transform:none;opacity:.8}.form-input-login{font-size:16px}}.vld-ricevuta-container{padding:0}.vld-title-mobile{font-size:clamp(20px,5.3vw,24px);font-weight:700;margin-bottom:clamp(16px,4vw,24px);color:var(--color-text)}.vld-existing-files{margin-bottom:var(--space-32);display:flex;flex-direction:column;align-items:center}.vld-existing-files-title{font-size:1rem;font-weight:600;margin-bottom:var(--space-16);color:var(--color-text)}.vld-existing-files-gallery{width:60%;max-width:400px;aspect-ratio:210/297;background:var(--color-gray-50);border-radius:8px;box-shadow:0 4px 12px #0000001a;margin:0 auto;position:relative;overflow:hidden}.vld-files-scroll-wrapper{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}.vld-files-scroll-wrapper::-webkit-scrollbar{display:none}.vld-existing-file-item{flex:0 0 100%;width:100%;height:100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;padding:var(--space-16);cursor:pointer;position:relative}.vld-existing-file-img{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;border-radius:4px;transition:transform .2s;image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.vld-existing-file-item:active .vld-existing-file-img{transform:scale(.95)}.vld-existing-files-note{font-size:.875rem;color:var(--color-text-muted);margin-top:var(--space-8);text-align:center}.vld-fullscreen-viewer{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;z-index:99999;display:flex;align-items:center;justify-content:center;touch-action:none}.vld-viewer-container{position:relative;width:100%;height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center}.vld-viewer-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;touch-action:none;transform-origin:center center;transition:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.vld-viewer-close{position:absolute;top:env(safe-area-inset-top,20px);right:20px;width:44px;height:44px;background:#fff3;border:none;border-radius:50%;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}body.fullscreen-active{overflow:hidden}body.fullscreen-active .webapp-header,body.fullscreen-active .webapp-footer,body.fullscreen-active .vld-footer-buttons{display:none}.vld-delete-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;z-index:99999;display:flex;align-items:center;justify-content:center;padding:20px}.vld-delete-modal-content{background:#fff;border-radius:16px;padding:30px;max-width:400px;width:100%;text-align:center}.vld-delete-modal-title{color:#ef4444;font-size:24px;font-weight:700;margin-bottom:15px}.vld-delete-modal-text{color:#666;margin-bottom:30px}.vld-delete-modal-buttons{display:flex;gap:15px;justify-content:center}.vld-delete-modal-btn{padding:12px 30px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}.vld-delete-modal-cancel{background:#e5e7eb;color:#374151}.vld-delete-modal-confirm{background:#ef4444;color:#fff}.vld-upload-section{margin-bottom:var(--space-32)}.vld-upload-zone{border:2px dashed var(--color-gray-300);border-radius:8px;padding:clamp(24px,6vw,40px);text-align:center;transition:all .3s ease;cursor:pointer;background:var(--color-gray-50)}.vld-upload-zone:hover{border-color:var(--color-primary);background:#1ba8db0d}.vld-upload-zone.vld-disabled{pointer-events:none;opacity:.6}.vld-upload-previews{display:flex;gap:var(--space-16);flex-wrap:wrap;justify-content:center}.vld-upload-preview-item{position:relative;width:85px;aspect-ratio:210/297;overflow:hidden;border-radius:4px;box-shadow:0 2px 4px #0000001a;background:var(--color-gray-50)}.vld-upload-preview-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vld-upload-remove-btn{position:absolute;top:8px;right:8px;background:#ef4444;color:#fff;border:2px solid white;border-radius:50%;width:36px;height:36px;font-size:24px;cursor:pointer;z-index:20;box-shadow:0 2px 8px #0006;display:flex;align-items:center;justify-content:center;font-weight:700;line-height:1}.vld-upload-remove-btn:hover{transform:scale(1.1);background:#dc2626}.vld-upload-remove-btn:active{transform:scale(.95)}.vld-upload-label{cursor:pointer}.vld-upload-icon{width:48px;height:48px;margin:0 auto var(--space-16);color:var(--color-gray-400)}.vld-upload-text{font-size:clamp(14px,3.73vw,16px);color:var(--color-text);margin-bottom:var(--space-8)}.vld-upload-hint{font-size:.75rem;color:var(--color-text-muted)}.vld-upload-input{display:none}.vld-paste-clickable{margin-top:10px;color:#667eea;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.vld-paste-clickable:hover{color:#5a67d8;transform:scale(1.05)}.vld-paste-clickable:active{transform:scale(.98)}.vld-upload-loading{margin-top:var(--space-8);text-align:center}.vld-upload-loading-text{font-size:.875rem;color:var(--color-text-muted)}.vld-upload-spinner-overlay{position:fixed;inset:0;width:100vw;height:100vh;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:999999;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.vld-upload-spinner{background:#fff;padding:40px;border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:25px;box-shadow:0 25px 70px #00000080;z-index:999999}.spinner-circle{width:60px;height:60px;border:5px solid #f3f3f3;border-top:5px solid #1ba8db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner-text{color:#333;font-size:18px;font-weight:600;letter-spacing:.5px}.vld-pdf-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f3f4f6;color:#6b7280;padding:20px;text-align:center}.vld-pdf-icon{width:60px;height:60px;margin-bottom:10px;color:#9ca3af}.vld-form-grid-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);margin-bottom:var(--space-16)}.form-group{margin-bottom:var(--space-16)}.form-label{display:block;font-size:clamp(14px,3.73vw,16px);font-weight:500;margin-bottom:var(--space-8);color:var(--color-text)}.form-input{width:100%;padding:clamp(12px,3.2vw,14px);font-size:clamp(16px,4.27vw,18px);border:1px solid var(--color-gray-300);border-radius:6px;background:#fff;transition:all .3s ease;-webkit-appearance:none}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db1a}.form-input:disabled{background:var(--color-gray-100);cursor:not-allowed;opacity:.7}select.form-input{padding-right:40px;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='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;background-size:20px}textarea.form-input{resize:vertical;min-height:100px}.error-text{display:block;font-size:.875rem;color:var(--color-danger);margin-top:var(--space-4)}.vld-upload-zone:active,.form-input:active{transform:scale(.98)}*:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.u-mt-16{margin-top:var(--space-16)}.u-mb-16{margin-bottom:var(--space-16)}.u-mt-32{margin-top:var(--space-32)}.u-mb-32{margin-bottom:var(--space-32)}@media (min-width: 768px){.vld-existing-files-gallery{width:50%;max-width:500px}}@media (max-width: 768px){.vld-upload-remove-btn{top:12px;right:12px;width:40px;height:40px;font-size:26px}.vld-upload-spinner{transform:scale(.85);padding:30px}}@media (max-width: 480px){.vld-existing-files-gallery{width:80%}}@media (prefers-color-scheme: dark){.vld-upload-zone{background:var(--color-gray-800);border-color:var(--color-gray-600)}.form-input{background:#fff;border-color:var(--color-gray-600);color:var(--color-text)}.vld-existing-files-gallery{background:var(--color-gray-800)}.vld-upload-preview-item{background:var(--color-gray-700)}.vld-fullscreen-viewer{background:#000000fa}.vld-delete-modal-content{background:var(--color-gray-800);color:var(--color-text)}}.vld-crop-trigger-btn{position:absolute;top:8px;left:8px;background:#3b82f6;color:#fff;border:2px solid white;border-radius:50%;width:36px;height:36px;font-size:18px;cursor:pointer;z-index:20;box-shadow:0 2px 8px #0006;display:flex;align-items:center;justify-content:center;line-height:1}.vld-crop-trigger-btn:hover{transform:scale(1.1);background:#2563eb}.vld-crop-trigger-btn:active{transform:scale(.95)}.vld-crop-trigger-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.vld-crop-trigger-btn{top:12px;left:12px;width:40px;height:40px;font-size:20px}}@media (max-width: 768px){.vld-crop-trigger-btn{top:8px;left:8px;width:44px;height:44px;font-size:22px;touch-action:manipulation}.vld-upload-remove-btn{width:44px;height:44px;font-size:28px;touch-action:manipulation}.vld-existing-file-img{min-height:100px;touch-action:manipulation}}.vld-existing-file-item{touch-action:pan-y pinch-zoom}.vld-crop-trigger-btn:active,.vld-upload-remove-btn:active{transform:scale(.9);opacity:.8}.vld-existing-file-item .vld-crop-trigger-btn{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;display:flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:50%;aspect-ratio:1}.vld-existing-file-item .vld-upload-remove-btn{width:40px;height:40px;min-width:40px;min-height:40px;padding:0;border-radius:50%;flex-shrink:0;aspect-ratio:1}@media (max-width: 768px){.vld-existing-file-item .vld-crop-trigger-btn,.vld-existing-file-item .vld-upload-remove-btn{width:44px;height:44px;min-width:44px;min-height:44px}}.vld-existing-file-img{cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.vld-crop-trigger-btn{cursor:pointer;pointer-events:auto}.edit-ricevuta-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:20px;height:calc(100vh - 200px)}.preview-section{background:#f8f9fa;border-radius:12px;padding:20px;display:flex;flex-direction:column;overflow:hidden}.single-image{max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;box-shadow:0 4px 8px #0000001a;border-radius:8px;cursor:zoom-in;cursor:pointer}.multi-page-scroll{display:flex;gap:16px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex:1;scroll-behavior:smooth}.page-container{flex:0 0 100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center}.page-image{max-width:90%;max-height:100%;-o-object-fit:contain;object-fit:contain;box-shadow:0 4px 8px #0000001a;border-radius:8px;cursor:zoom-in}.page-count{text-align:center;padding-top:12px;color:#6c757d;font-size:14px}.multi-page-scroll::-webkit-scrollbar{height:8px}.multi-page-scroll::-webkit-scrollbar-track{background:#e9ecef;border-radius:4px}.multi-page-scroll::-webkit-scrollbar-thumb{background:#1ba8db;border-radius:4px}.multi-page-scroll::-webkit-scrollbar-thumb:hover{background:#1596c7}.form-section{overflow-y:auto;padding-right:12px}.compact-row{display:flex;gap:16px;margin-bottom:20px}.field-small{display:flex;flex-direction:column}.field-small:first-child{width:150px}.field-small:last-child{width:120px}.field-full{margin-bottom:20px}.edit-ricevuta-grid label{font-weight:500;color:#495057;margin-bottom:6px;font-size:14px}.edit-ricevuta-grid input,.edit-ricevuta-grid select{padding:8px 12px;border:1px solid #ced4da;border-radius:6px;font-size:14px;width:100%;transition:border-color .2s}.edit-ricevuta-grid input:focus,.edit-ricevuta-grid select:focus{outline:none;border-color:#1ba8db;box-shadow:0 0 0 2px #1ba8db1a}.delete-section{margin-top:40px;padding-top:20px;border-top:1px solid #dee2e6}.loading{display:flex;align-items:center;justify-content:center;height:100%;color:#6c757d}.fullscreen-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:9999;cursor:zoom-out}.fullscreen-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.fullscreen-image{max-width:90%;max-height:90%;-o-object-fit:contain;object-fit:contain;transition:transform .2s ease-out;transform-origin:center center;-moz-user-select:none;user-select:none;-webkit-user-select:none;touch-action:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;user-drag:none}.fullscreen-nav{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;background:#000000b3;padding:10px 20px;border-radius:30px}.nav-prev,.nav-next{background:transparent;border:none;color:#fff;font-size:30px;cursor:pointer;padding:0 10px}.nav-prev:hover,.nav-next:hover{color:#1ba8db}.nav-info{color:#fff;font-size:14px}@media (max-width: 767px){.edit-ricevuta-grid{grid-template-columns:1fr;height:auto}.preview-section{height:400px;margin-bottom:20px}.compact-row{flex-wrap:wrap}.field-small{width:100%}.fullscreen-nav{bottom:20px}}.fullscreen-mode .vld-btn-secondary:first-child,.fullscreen-mode .vld-btn-secondary:nth-child(2){min-width:50px;font-size:24px;padding:8px}.fullscreen-mode .fullscreen-nav{display:none}.fullscreen-overlay img{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}.main-card{flex:1;display:flex;flex-direction:column;background:transparent;border-radius:0;overflow:visible;padding:0 0 120px}.checkup-list{display:flex;flex-direction:column;gap:var(--space-12);padding:var(--space-16);background:transparent}.checkup-card{background:#fff;border:1px solid rgba(27,168,219,.2);border-radius:var(--radius-lg);padding:var(--space-16);box-shadow:0 2px 8px #1ba8db1a;cursor:pointer;transition:all .2s ease}.checkup-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1ba8db33}.checkup-card:active{transform:scale(.98);opacity:.9}.checkup-tipo-montaggio{background:#22c55e14;border-color:#22c55e4d}.checkup-tipo-collaudo{background:#3b82f614;border-color:#3b82f64d}.checkup-tipo-manutenzione_ordinaria{background:#fb923c14;border-color:#fb923c4d}.checkup-tipo-riparazione{background:#ef444414;border-color:#ef44444d}.checkup-tipo-sopralluogo{background:#a855f714;border-color:#a855f74d}.checkup-tipo-training{background:#ec489914;border-color:#ec48994d}.checkup-tipo-montaggio:hover{background:#22c55e1f;border-color:#22c55e80}.checkup-tipo-collaudo:hover{background:#3b82f61f;border-color:#3b82f680}.checkup-tipo-manutenzione_ordinaria:hover{background:#fb923c1f;border-color:#fb923c80}.checkup-tipo-riparazione:hover{background:#ef44441f;border-color:#ef444480}.checkup-tipo-sopralluogo:hover{background:#a855f71f;border-color:#a855f780}.checkup-tipo-training:hover{background:#ec48991f;border-color:#ec489980}.checkup-content{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-16)}.checkup-main{flex:1;min-width:0}.checkup-header{display:flex;align-items:baseline;gap:var(--space-12);margin-bottom:var(--space-12)}.checkup-numero{font-weight:var(--font-bold);font-size:var(--font-lg);color:var(--color-primary)}.checkup-date{font-size:var(--font-sm);color:var(--color-text-muted)}.checkup-details{display:flex;flex-direction:column;gap:var(--space-6)}.checkup-client{font-size:var(--font-base);color:var(--color-text);font-weight:var(--font-semibold);margin-bottom:var(--space-4)}.checkup-info{font-size:var(--font-sm);color:var(--color-text-muted);display:flex;gap:var(--space-4)}.checkup-label{font-weight:var(--font-medium);color:var(--color-text-light)}.checkup-badges{display:flex;flex-direction:column;gap:var(--space-6);align-items:flex-end;min-width:120px}.status-badge{display:inline-block;padding:var(--space-6) var(--space-12);font-size:var(--font-sm);font-weight:var(--font-semibold);border-radius:var(--radius-md);white-space:nowrap;text-align:center;min-width:100px}.status-bozza{background-color:#f3f4f6;color:#6b7280}.status-firmato_tecnico{background-color:#fef3c7;color:#92400e}.status-firmato_cliente{background-color:#dbeafe;color:#1e40af}.status-inviato{background-color:#e0e7ff;color:#4c1d95}.status-completato{background-color:#d1fae5;color:#166534}.empty-state{text-align:center;padding:var(--space-48) var(--space-16);color:var(--color-text-muted);font-size:var(--font-base)}@media (max-width: 768px){.checkup-list{padding:var(--space-12);gap:var(--space-8)}.checkup-card{padding:var(--space-12)}.checkup-content{flex-direction:column;gap:var(--space-12)}.checkup-badges{flex-direction:row;align-items:center;justify-content:flex-start;flex-wrap:wrap}}.dark .checkup-card{background-opacity:.5}.dark .checkup-tipo-montaggio{background:#22c55e26}.dark .checkup-tipo-collaudo{background:#3b82f626}.dark .checkup-tipo-manutenzione_ordinaria{background:#fb923c26}.dark .checkup-tipo-riparazione{background:#ef444426}.dark .checkup-tipo-sopralluogo{background:#a855f726}.dark .checkup-tipo-training{background:#ec489926}.whatsapp-search-sticky{position:sticky;top:0;width:calc(100% - var(--space-24));margin:var(--space-4) var(--space-12) var(--space-12) var(--space-12);padding:var(--space-6) var(--space-16);background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-full);font-size:var(--font-sm);z-index:100;transition:transform .3s ease,opacity .3s ease;transform:translateY(0);opacity:1}.whatsapp-search-sticky:focus{outline:none;border-color:var(--color-primary)}.whatsapp-search-sticky.search-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}.whatsapp-list{display:flex;flex-direction:column;height:100%;background:var(--color-white);overflow:hidden;overscroll-behavior:none;touch-action:pan-y;position:relative}.whatsapp-search-input{width:100%;padding:var(--space-10) var(--space-16);border:1px solid var(--color-gray-300);border-radius:var(--radius-full);font-size:var(--font-base);background:var(--color-white)}.whatsapp-search-input:focus{outline:none;border-color:var(--color-primary)}.whatsapp-conversations{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;overscroll-behavior-x:none;min-height:0;position:relative;z-index:1}.whatsapp-conversation-item{display:flex;align-items:center;padding:var(--space-20) var(--space-16);border-bottom:1px solid var(--color-gray-100);cursor:pointer;transition:background var(--transition-fast);min-height:72px}.whatsapp-conversation-item:active{background:var(--color-gray-50)}.whatsapp-avatar{width:48px;height:48px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;margin-right:var(--space-12);flex-shrink:0}.whatsapp-content{flex:1;min-width:0}.whatsapp-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.whatsapp-name{font-weight:var(--font-semibold);font-size:var(--font-base);color:var(--color-text)}.whatsapp-time{font-size:var(--font-xs);color:var(--color-text-muted)}.whatsapp-preview{display:flex;justify-content:space-between;align-items:center}.whatsapp-preview .whatsapp-message{flex:1;font-size:var(--font-sm);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.whatsapp-badge{min-width:20px;height:20px;padding:0 var(--space-6);background:var(--color-danger);color:var(--color-white);border-radius:var(--radius-full);font-size:var(--font-xs);font-weight:var(--font-semibold);display:flex;align-items:center;justify-content:center;margin-left:var(--space-8)}.whatsapp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-48);color:var(--color-gray-400);font-size:var(--font-4xl)}.whatsapp-empty p:last-child{font-size:var(--font-base);margin-top:var(--space-8)}.whatsapp-thread-header{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-12) var(--space-16);background:var(--color-white);color:var(--color-text);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--color-gray-200);min-height:var(--header-height, 50px);flex-shrink:0;position:fixed;top:0;left:0;right:0;z-index:var(--z-fixed)}.whatsapp-back-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:var(--color-text);text-decoration:none;border-radius:var(--radius-full);transition:var(--transition-fast);flex-shrink:0}.whatsapp-back-btn:hover{background:var(--color-gray-100)}.whatsapp-back-btn:active{background:var(--color-gray-200)}.whatsapp-back{width:40px;height:40px;margin-right:var(--space-12);text-decoration:none;color:var(--color-white);line-height:1;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:#ffffff1a;transition:var(--transition-fast);flex-shrink:0}.whatsapp-back:active{background:#fff3;transform:scale(.95)}.whatsapp-back svg{width:24px;height:24px;fill:currentColor}.whatsapp-avatar-small{width:40px;height:40px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;margin-right:var(--space-12)}.whatsapp-thread-info h3{font-size:var(--font-base);font-weight:var(--font-semibold);margin:0}.content-wrapper:has(.whatsapp-messages){background:#e5ddd5;background-attachment:fixed}.whatsapp-messages{background:transparent;padding:var(--space-16);padding-top:calc(var(--header-height, 50px) + var(--space-16));padding-bottom:94px;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;gap:var(--space-8)}.whatsapp-messages:before{content:"";flex:999 0 auto;min-height:calc(100vh - var(--header-height, 50px) - 94px - 100px)}.webapp-container .content-wrapper .whatsapp-messages,.content-wrapper>.whatsapp-messages{padding-bottom:94px}.whatsapp-message{display:flex;align-items:flex-end;gap:var(--space-6);max-width:75%;animation:messageSlideIn .2s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.whatsapp-message-sent{align-self:flex-end;flex-direction:row-reverse}.whatsapp-message-received{align-self:flex-start}.whatsapp-message-avatar{width:32px;height:32px;border-radius:var(--radius-full);-o-object-fit:cover;object-fit:cover;flex-shrink:0}.whatsapp-bubble{padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);word-wrap:break-word;box-shadow:var(--shadow-sm)}.whatsapp-message-sent .whatsapp-bubble{background:#dcf8c6;border-bottom-right-radius:2px}.whatsapp-message-received .whatsapp-bubble{background:var(--color-white);border-bottom-left-radius:2px}.whatsapp-message-system{align-self:center;max-width:80%;margin:var(--space-8) 0}.whatsapp-bubble-system{background:#0000000d;padding:var(--space-8) var(--space-12);border-radius:var(--radius-md);text-align:center}.whatsapp-bubble-system .whatsapp-text{font-size:var(--font-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);white-space:pre-wrap;word-break:break-word}.whatsapp-bubble-system .whatsapp-time{font-size:var(--font-xs);color:var(--color-text-muted);opacity:.7;margin-top:var(--space-4)}.whatsapp-sender{font-size:var(--font-xs);color:var(--color-primary);font-weight:var(--font-semibold);margin-bottom:var(--space-4)}.whatsapp-text{font-size:var(--font-lg);line-height:var(--leading-relaxed);color:var(--color-text);white-space:pre-wrap;word-break:break-word}.whatsapp-link{color:#0ea5e9;text-decoration:underline;word-break:break-all;transition:opacity .2s}.whatsapp-link:hover{opacity:.8}.whatsapp-link:active{opacity:.6}.whatsapp-message-sent .whatsapp-link{color:#e0f2fe}.whatsapp-maps-preview{display:flex;align-items:center;gap:var(--space-12);margin-top:var(--space-8);padding:var(--space-12);background:#00000008;border-radius:var(--radius-lg);border:1px solid rgba(0,0,0,.08);text-decoration:none;color:inherit;transition:all .2s}.whatsapp-maps-preview:hover{background:#0000000d;transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.whatsapp-maps-preview:active{transform:translateY(0)}.whatsapp-message-sent .whatsapp-maps-preview{background:#ffffff26;border-color:#fff3}.whatsapp-message-sent .whatsapp-maps-preview:hover{background:#ffffff40}.whatsapp-maps-icon{width:48px;height:48px;min-width:48px;background:#34a853;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center}.whatsapp-maps-icon svg{width:28px;height:28px;color:#fff}.whatsapp-maps-info{flex:1;min-width:0}.whatsapp-maps-title{font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-2)}.whatsapp-message-sent .whatsapp-maps-title{color:#fffffff2}.whatsapp-maps-address{font-size:var(--font-sm);color:var(--color-text-muted);line-height:var(--leading-relaxed);word-break:break-word}.whatsapp-message-sent .whatsapp-maps-address{color:#ffffffbf}.whatsapp-meta{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-4);font-size:var(--font-xs);color:var(--color-text-muted);margin-top:var(--space-4)}.whatsapp-check-sent{color:var(--color-gray-400)}.whatsapp-check-read{color:#0284c7;font-weight:var(--font-semibold)}.whatsapp-image-container{margin-top:var(--space-8);border-radius:var(--radius-md);overflow:hidden;position:relative}.whatsapp-image{width:100%;max-width:200px;height:auto;display:block;cursor:pointer;transition:opacity var(--transition-fast)}.whatsapp-image:active{opacity:.8}.whatsapp-images-grid{display:grid;gap:var(--space-4);margin-top:var(--space-8);border-radius:var(--radius-md);overflow:hidden}.whatsapp-images-grid.grid-2{grid-template-columns:1fr 1fr}.whatsapp-images-grid.grid-3{grid-template-columns:repeat(3,1fr)}.whatsapp-images-grid .whatsapp-image{max-width:100%;aspect-ratio:1;-o-object-fit:cover;object-fit:cover}.whatsapp-lightbox{position:fixed;inset:0;background:#000000f2;z-index:var(--z-modal);display:none;align-items:center;justify-content:center;padding:var(--space-16)}.whatsapp-lightbox.active{display:flex;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.whatsapp-lightbox-content{max-width:100%;max-height:100%;position:relative}.whatsapp-lightbox-image{max-width:100%;max-height:90vh;width:auto;height:auto;display:block;margin:0 auto;border-radius:var(--radius-md)}.whatsapp-lightbox-close{position:absolute;top:-40px;right:0;width:44px;height:44px;border:none;background:#fff3;color:var(--color-white);font-size:var(--font-3xl);border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.whatsapp-lightbox-close:active{background:#ffffff4d}.whatsapp-file-attachment{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-10) var(--space-12);background:#0000000d;border-radius:var(--radius-md);text-decoration:none;color:var(--color-text);transition:background var(--transition-fast);min-width:200px;min-height:56px}.whatsapp-file-attachment:active{background:#0000001a}.whatsapp-file-icon{width:40px;height:40px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:var(--font-xl);flex-shrink:0;color:var(--color-white);font-weight:var(--font-semibold)}.whatsapp-file-icon.pdf{background:linear-gradient(135deg,var(--color-danger),#dc2626)}.whatsapp-file-icon.doc{background:linear-gradient(135deg,var(--color-info),#2563eb)}.whatsapp-file-icon.xls{background:linear-gradient(135deg,var(--color-success),#059669)}.whatsapp-file-icon.zip{background:linear-gradient(135deg,var(--color-warning),#d97706)}.whatsapp-file-icon.default{background:linear-gradient(135deg,var(--color-gray-500),var(--color-gray-600))}.whatsapp-file-info{flex:1;min-width:0}.whatsapp-file-name{font-size:var(--font-sm);font-weight:var(--font-medium);color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.whatsapp-file-size{font-size:var(--font-xs);color:var(--color-text-muted)}.whatsapp-input{background:#f0f0f0b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom));border-top:1px solid rgba(0,0,0,.1);position:fixed;bottom:max(10px,env(safe-area-inset-bottom));left:0;right:0;z-index:9999;height:auto;max-height:-moz-fit-content;max-height:fit-content}.content-wrapper>.whatsapp-input:last-child,.webapp-container .content-wrapper .whatsapp-input{padding-bottom:10px;margin-bottom:0}.whatsapp-input-form{width:100%;margin:0;padding:0}.whatsapp-input-row{display:flex;align-items:center;gap:var(--space-8)}.whatsapp-btn-attach,.whatsapp-btn-send{width:44px;height:44px;border-radius:var(--radius-full);border:none;font-size:var(--font-xl);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background var(--transition-fast)}.whatsapp-btn-attach{background:#ffffffe6;color:var(--color-gray-500)}.whatsapp-btn-attach:active{background:#fff}.whatsapp-btn-send{background:var(--color-primary);color:var(--color-white)}.whatsapp-btn-send:active{background:var(--color-primary-dark);transform:scale(.95)}.whatsapp-textarea{flex:1;min-height:44px;max-height:120px;padding:var(--space-10) var(--space-16);border:none;border-radius:var(--radius-full);font-size:var(--font-base);font-family:inherit;resize:none;background:#ffffffe6;line-height:1.4}.whatsapp-textarea:focus{outline:none}.whatsapp-textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-modify:read-write-plaintext-only}.whatsapp-textarea::-webkit-calendar-picker-indicator,.whatsapp-textarea::-webkit-list-button,.whatsapp-textarea::-webkit-textfield-decoration-container{display:none}@supports (-webkit-touch-callout: none){.whatsapp-textarea{font-size:16px}}.whatsapp-typing-indicator{display:flex;align-items:flex-end;gap:var(--space-6);max-width:75%;align-self:flex-start;animation:messageSlideIn .2s ease-out}.whatsapp-typing-bubble{background:var(--color-white);padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);border-bottom-left-radius:2px;box-shadow:var(--shadow-sm);display:flex;gap:var(--space-4);align-items:center}.whatsapp-typing-dot{width:8px;height:8px;background:var(--color-gray-400);border-radius:var(--radius-full);animation:typingBounce 1.4s infinite}.whatsapp-typing-dot:nth-child(2){animation-delay:.2s}.whatsapp-typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-10px)}}.whatsapp-message-sending{opacity:.6}.whatsapp-message-sending .whatsapp-bubble{position:relative}.whatsapp-message-sending .whatsapp-bubble:after{content:"";position:absolute;right:var(--space-8);bottom:var(--space-8);width:16px;height:16px;border:2px solid var(--color-gray-400);border-top-color:transparent;border-radius:var(--radius-full);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.whatsapp-skeleton-message{display:flex;gap:var(--space-6);max-width:75%;animation:messageSlideIn .2s ease-out}.whatsapp-skeleton-message.sent{align-self:flex-end}.whatsapp-skeleton-message.received{align-self:flex-start}.whatsapp-skeleton-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;flex-shrink:0}.whatsapp-skeleton-bubble{padding:var(--space-12) var(--space-16);border-radius:var(--radius-md);background:#f0f0f0}.whatsapp-skeleton-text{height:16px;background:linear-gradient(90deg,#e0e0e0 25%,#d0d0d0,#e0e0e0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-sm);margin-bottom:var(--space-8)}.whatsapp-skeleton-text:last-child{margin-bottom:0;width:70%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.whatsapp-message{max-width:85%}.whatsapp-thread-header{padding:var(--space-10) var(--space-12)}.whatsapp-messages{padding:var(--space-12);padding-bottom:94px}.webapp-container .content-wrapper .whatsapp-messages,.content-wrapper>.whatsapp-messages{padding-bottom:174px}}.whatsapp-attachments{display:flex;flex-direction:column;gap:var(--space-6);margin-top:var(--space-8)}.whatsapp-attachment{display:inline-flex;align-items:center;padding:var(--space-6) var(--space-10);background:#0000000d;border-radius:var(--radius-md);text-decoration:none;color:var(--color-text);font-size:var(--font-sm);transition:background var(--transition-fast);min-height:44px}.whatsapp-attachment:active{background:#0000001a}.whatsapp-attachments-preview{display:flex;flex-wrap:wrap;gap:var(--space-6);margin-bottom:var(--space-8)}.whatsapp-attachment-item{display:flex;align-items:center;gap:var(--space-6);padding:var(--space-6) var(--space-10);background:var(--color-white);border-radius:var(--radius-md);font-size:var(--font-sm);box-shadow:var(--shadow-sm)}.whatsapp-attachment-item button{background:none;border:none;color:var(--color-danger);font-size:var(--font-lg);cursor:pointer;padding:0;line-height:1;min-width:24px;min-height:24px}.whatsapp-image-loading{width:200px;height:150px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite;border-radius:var(--radius-md)}.checkup-giornata-container{padding:var(--space-16);max-width:800px;margin:0 auto}.page-header{margin-bottom:var(--space-24)}.page-title{font-size:var(--font-2xl);font-weight:var(--font-bold);color:var(--color-text);margin-bottom:var(--space-8)}.page-subtitle{font-size:var(--font-sm);color:var(--color-text-muted)}.form-container{display:flex;flex-direction:column;gap:var(--space-16)}.form-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-20);box-shadow:var(--shadow-sm)}.form-row{display:flex;gap:var(--space-16)}.form-label{display:block;font-size:var(--font-sm);font-weight:var(--font-semibold);color:var(--color-text);margin-bottom:var(--space-8);text-transform:uppercase;letter-spacing:.5px}.form-label-sm{font-size:var(--font-xs);margin-bottom:var(--space-4)}.tecnici-selector{display:flex;flex-direction:column;gap:var(--space-8)}.tecnico-item{display:flex;align-items:center;padding:var(--space-12);background:var(--color-gray-50);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.tecnico-item:hover{background:var(--color-gray-100)}.tecnico-item.responsabile{background:#1ba8db1a;border:1px solid rgba(27,168,219,.3)}.tecnico-item input[type=checkbox]{margin-right:var(--space-12);width:20px;height:20px}.tecnico-name{flex:1;font-size:var(--font-base)}.tecnico-badge{background:var(--color-primary);color:#fff;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:var(--font-semibold)}.mezzo-card{background:var(--color-gray-50);border-radius:var(--radius-md);padding:var(--space-16);margin-bottom:var(--space-12)}.mezzo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-12)}.mezzo-title{font-weight:var(--font-semibold)}.btn-remove{width:28px;height:28px;border-radius:50%;background:var(--color-danger);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}.mezzo-row{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-12)}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-12) 0}.toggle-row:not(:last-child){border-bottom:1px solid var(--color-gray-200)}.toggle-info{flex:1}.toggle-label{display:block;font-size:var(--font-base);font-weight:var(--font-semibold);color:var(--color-text)}.toggle-description{display:block;font-size:var(--font-sm);color:var(--color-text-muted);margin-top:var(--space-4)}@media (max-width: 768px){.form-row{flex-direction:column}.mezzo-row{grid-template-columns:1fr}}.dark .form-card{background:var(--color-gray-800)}.dark .tecnico-item,.dark .mezzo-card{background:var(--color-gray-700)}.dark{--color-bg: #111827;--color-text: #e5e7eb;--color-text-muted: #9ca3af;--color-text-light: #6b7280;--color-border: #374151;--color-bg-secondary: #0f172a}.dark body{background:#111827;color:#e5e7eb}.dark .webapp-container,.dark .webapp-main-with-footer{background:#111827}.dark .content-wrapper{background:#0f172a}.dark .webapp-header{background:#1f2937f2;color:#e5e7eb;border-bottom-color:#374151;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.dark .webapp-header-logo{color:#e5e7eb}.dark .webapp-avatar{border-color:#4b5563}.dark .webapp-subheader{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent;box-shadow:none}.dark .webapp-subheader-content{color:var(--color-text)}.dark .webapp-footer{background:#111827b3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid rgba(255,255,255,.15);box-shadow:0 -2px 16px #0006}.dark .webapp-footer:before{content:"";position:absolute;top:-15px;left:0;right:0;height:15px;background:transparent;pointer-events:none;z-index:-1}@media (hover: hover){.dark .vld-btn{background:#4b556333;color:#e5e7eb;border-color:#4b5563}.dark .vld-btn-primary{background:#1ba8db26;color:#5eead4;border-color:#1ba8db4d}.dark .vld-btn-secondary{background:#9ca3af26;color:#d1d5db;border-color:#9ca3af4d}.dark .vld-btn-success{background:#10b98126;color:#86efac;border-color:#10b9814d}.dark .vld-btn-danger{background:#ef444426;color:#fca5a5;border-color:#ef44444d}}.dark .main-card{background:transparent}.dark .card{background:#1f2937;border-color:#374151}.dark .report-card{background:#1f2937;box-shadow:0 1px 3px #0000004d;border:none}@media (hover: hover){.dark .report-card:hover{box-shadow:0 4px 6px #0006;transform:translateY(-2px)}}.dark .report-card:active{box-shadow:0 1px 2px #0003;transform:scale(.98)}.dark .card-title{color:#f3f4f6}.dark .card-subtitle,.dark .report-date{color:#9ca3af}.dark .report-client{color:#f3f4f6}.dark .metric-label{color:#9ca3af}.dark .metric-value{color:#f3f4f6}.dark .report-metrics{border-top-color:#3741514d}.dark .report-badge,.dark .командировка{background:#10b981;color:#fff}.dark .widget-blue{background:linear-gradient(135deg,#1e3a8a,#1e40af)}.dark .widget-green{background:linear-gradient(135deg,#14532d,#166534)}.dark .widget-orange{background:linear-gradient(135deg,#7c2d12,#9a3412)}.dark .empty-state{background:#1f2937;color:#e5e7eb}.dark .empty-state-icon{color:#4b5563}.dark .empty-state-title{color:#f3f4f6}.dark .empty-state-text{color:#9ca3af}.dark .info-card{background:#3b82f61a;border-color:#3b82f64d}.dark .info-card-title,.dark .info-card-text{color:#93c5fd}.dark .form-input{background:#1f2937;color:#e5e7eb;border-color:#374151}.dark .form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db33}.dark .form-input::-moz-placeholder{color:#6b7280}.dark .form-input::placeholder{color:#6b7280}.dark .form-input:disabled{background:#111827;color:#4b5563}.dark .input-label,.dark .form-label{color:#d1d5db}.dark .selector-modern{background-color:#1ba8db26;color:#e5e7eb;border-color:#1ba8db4d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235eead4' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/%3E%3C/svg%3E")}.dark .selector-modern option{background:#1f2937;color:#e5e7eb}.dark .modal-overlay{background:#000000b3}.dark .modal-box{background:#1f2937;border:1px solid #374151}.dark .modal-header{border-bottom-color:#374151}.dark .modal-title{color:#f3f4f6}.dark .modal-close{color:#9ca3af}.dark .modal-close:active{background:#374151;color:#e5e7eb}.dark .modal-content{background:#1f2937}.dark .modal-footer{border-top-color:#374151}.dark .modal-label{color:#9ca3af}.dark .modal-value{color:#e5e7eb}.dark .alert-success{background:#10b98126;border-color:#059669;color:#86efac}.dark .alert-error{background:#ef444426;border-color:#dc2626;color:#fca5a5}.dark .alert-warning{background:#f59e0b26;border-color:#d97706;color:#fcd34d}.dark .alert-info{background:#3b82f626;border-color:#2563eb;color:#93c5fd}.dark .badge{background:#374151;color:#e5e7eb}.dark .badge-blue{background:#3b82f633;color:#93c5fd}.dark .badge-green{background:#22c55e33;color:#86efac}.dark .badge-red{background:#ef444433;color:#fca5a5}.dark .badge-yellow{background:#f59e0b33;color:#fcd34d}.dark .text-muted{color:#9ca3af}.dark .border{border-color:#374151}.dark .divide-y>*{border-color:#374151}.dark .dark-hidden{display:none}.dark .dark-visible{display:block}.dark .logo-login.light{display:none}.dark::-webkit-scrollbar{width:12px;height:12px}.dark::-webkit-scrollbar-track{background:#1f2937}.dark::-webkit-scrollbar-thumb{background:#4b5563;border-radius:6px;border:2px solid #1f2937}.dark::-webkit-scrollbar-thumb:hover{background:#6b7280}.dark{scrollbar-width:thin;scrollbar-color:#4b5563 #1f2937}.dark .glass-effect{background:#1f2937b3;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(75,85,99,.3)}.dark .glow-primary{box-shadow:0 0 20px #1ba8db4d}.dark .glow-success{box-shadow:0 0 20px #10b9814d}.dark .glow-danger{box-shadow:0 0 20px #ef44444d}.dark .spese-header{background:#1f2937f2;border-bottom-color:var(--color-gray-700);box-shadow:0 2px 8px #0003}.dark .vld-ricevuta-row{background:#1f293780;border-color:#4b556380}.dark .vld-ricevuta-row:not(.ricevuta-locked):hover{background:#1f2937cc;border-color:var(--color-primary)}.dark .vld-ricevuta-row__date{color:var(--color-gray-400)}.dark .vld-ricevuta-row__amount{color:var(--color-gray-100)}.dark .vld-category-badge--carburante{background:#fbbf2433;color:#fcd34d}.dark .vld-category-badge--trasporto{background:#3b82f633;color:#93c5fd}.dark .vld-category-badge--cibo{background:#fb923c33;color:#fdba74}.dark .vld-category-badge--alloggio{background:#a855f733;color:#c4b5fd}.dark .vld-category-badge--attrezzature{background:#10b98133;color:#86efac}.dark .vld-category-badge--forniture{background:#ef444433;color:#fca5a5}.dark .vld-category-badge--altro{background:var(--color-gray-700);color:var(--color-gray-300)}.dark .status-confirmed{background:#10b98126;border-color:#10b98166}.dark .status-confirmed .status-title{color:#86efac}.dark .status-confirmed .status-subtitle{color:#6ee7b7}.dark .status-confirmed .status-badge{background:#10b9814d;color:#d1fae5}.dark .status-pending{background:#fbbf2426;border-color:#fbbf2466}.dark .status-pending .status-title{color:#fcd34d}.dark .status-pending .status-subtitle{color:#fbbf24}.dark .status-empty{background:#9ca3af26;border-color:#9ca3af66;color:var(--color-gray-400)}.dark .input-numeric-clean{background-color:#1ba8db26;color:#e5e7eb;border-color:#1ba8db4d}.dark .input-numeric-clean::-moz-placeholder{color:#6b7280}.dark .input-numeric-clean::placeholder{color:#6b7280}.dark .vld-cropper-toolbar{background:#1f2937f2}.dark .vld-cropper-actions{background:#111827e6;border-top-color:var(--color-border, #374151)}.logo-login.light{display:block}.logo-login.dark,.dark .logo-login.light{display:none}.dark .logo-login.dark{display:block}.dark .webapp-footer-btn{background:#37415166;color:var(--color-text-secondary);border-right-color:#4b556380}.dark .webapp-footer-btn.vld-btn-primary{background:#1ba8dbe6;color:#fff;border-color:#1ba8db;box-shadow:0 2px 4px #1ba8db4d}.dark .webapp-footer-btn.vld-btn-secondary{background:#6b72804d;color:#d1d5db;border-right-color:#6b728080}.dark .webapp-footer-btn.vld-btn-danger{background:#ef4444e6;color:#fff;border-right-color:#ef4444;box-shadow:0 2px 4px #ef44444d}.dark .webapp-footer-btn.vld-btn-success{background:#10b981e6;color:#fff;border-right-color:#10b981;box-shadow:0 2px 4px #10b9814d}.dark .webapp-footer-btn:hover{filter:brightness(1.2)}.dark .webapp-footer-btn:active{transform:scale(.95);filter:brightness(.9)}.dark .selector-clean{background:#1e293bf2;border-color:#47556999;color:#e5e7eb}.dark .selector-clean:hover{background:#1e293b;border-color:#60a5fa66}.dark .selector-clean:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db33}.dark .selector-clean option{background:#1f2937;color:#e5e7eb}.dark .vld-btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:1px solid rgba(27,168,219,.3)}.dark .vld-btn-primary:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));box-shadow:0 4px 12px #1ba8db4d}.dark .vld-btn-primary:active{transform:scale(.98)}.dark .webapp-footer-btn.vld-btn-primary{background:#1ba8db33;color:#60d5ff;border-right-color:#1ba8db4d}.dark .webapp-footer-btn.vld-btn-primary:hover{background:#1ba8db4d}.dark .vld-btn-secondary,.dark .webapp-footer-btn.vld-btn-secondary{background:#1ba8db33;color:#60d5ff;border-color:#1ba8db4d}.dark .vld-btn-secondary:hover,.dark .webapp-footer-btn.vld-btn-secondary:hover{background:#1ba8db4d}.dark .ferie-calendar-container{background:#1f2937;border-color:#374151}.dark .calendar-header{border-bottom-color:#374151}.dark .calendar-month-year{color:#e5e7eb}.dark .calendar-nav-btn{background:#374151;color:#9ca3af}.dark .calendar-nav-btn:hover{background:var(--color-primary);color:#fff}.dark .calendar-legend{background:#0f172a}.dark .calendar-grid{background:#374151}.dark .calendar-weekday{background:#111827;color:#9ca3af}.dark .calendar-day{background:#1f2937}.dark .calendar-day:hover{background:#374151}.dark .calendar-day-number{color:#e5e7eb}.dark .calendar-day.today{background:#1ba8db26}.dark .calendar-day.weekend{background:#0f172a}.dark .calendar-day.weekend .calendar-day-number{color:#6b7280}.dark .calendar-day.festivo{background:#8b5cf626}.dark .calendar-day.worked{background:#22c55e26;border-bottom-color:#22c55e99}.dark .calendar-day.other-month{opacity:.3}.dark .day-holiday-name{color:#e5e7eb}.dark .day-total-hours{color:#34d399}.dark .ferie-info-badge{background:linear-gradient(135deg,#0f172a,#1e293b);border-color:#0ea5e9}.dark .ferie-value{color:#38bdf8}.dark .calendar-list-view{border-top-color:#374151}.dark .calendar-list-header{color:#e5e7eb}.dark .calendar-event-item{background:#0f172a}.dark .event-employee{color:#e5e7eb}.dark .event-dates{color:#9ca3af}.dark .modal-body{background:#1f2937;color:#e5e7eb}.dark .section-subtitle{color:#e5e7eb;border-bottom-color:#374151}.dark .report-card-mini,.dark .vacation-card-mini{background:#0f172a}.dark .report-customer{color:#e5e7eb}.dark .report-details,.dark .report-description{color:#9ca3af;border-top-color:#374151}.dark .report-main{background:#1f2937;color:#e5e7eb}.dark .input-numeric-clean{background:#374151;border-color:#4b5563;color:#e5e7eb}.dark .input-numeric-clean:focus{border-color:var(--color-primary);background:#1f2937}.dark .field-error{border-color:#ef4444}.dark .error-text{color:#fca5a5}.dark .report-commessa{background:#374151;border-color:#4b5563;color:#e5e7eb}.u-hidden{display:none}.u-dark-hidden{display:block}.u-dark-block,.dark .u-dark-hidden{display:none}.dark .u-dark-block,.webapp-logo.u-dark-hidden{display:block}.webapp-logo.u-hidden.u-dark-block,.dark .webapp-logo.u-dark-hidden{display:none}.dark .webapp-logo.u-hidden.u-dark-block{display:block}.dark .form-input-login{background:#1f2937;border-color:#374151;color:#f3f4f6}.dark .form-input-login:focus{background:#374151;border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db33}.dark .form-input-login::-moz-placeholder{color:#9ca3af}.dark .form-input-login::placeholder{color:#9ca3af}.dark .login-container .form-input-login{background:#111827;border-color:#374151;color:#f3f4f6}.dark .login-container .form-input-login:focus{background:#1f2937;border-color:var(--color-primary);box-shadow:0 0 0 3px #1ba8db33}.dark .login-container .form-input-login::-moz-placeholder{color:#9ca3af}.dark .login-container .form-input-login::placeholder{color:#9ca3af}.dark .login-container{background:linear-gradient(135deg,#0f172a,#1e293b)}.dark .login-box{background:#1e293bf2;border:1px solid rgba(71,85,105,.5);box-shadow:0 20px 25px -5px #0000004d,0 10px 10px -5px #0003}.dark .btn-login{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));border:1px solid rgba(27,168,219,.3);color:#fff;box-shadow:0 4px 6px -1px #1ba8db33}.dark .btn-login:hover{background:linear-gradient(135deg,var(--color-primary-dark),var(--color-primary));box-shadow:0 10px 15px -3px #1ba8db4d;transform:translateY(-1px)}.dark .btn-login:active{transform:translateY(0);box-shadow:0 4px 6px -1px #1ba8db33}.dark .btn-login:disabled{background:#334155;border-color:#475569;color:#64748b;opacity:.6}.dark .form-label-sm,.dark .remember-label{color:#cbd5e1}.dark .forgot-password{color:#60a5fa}.dark .forgot-password:hover{color:#93c5fd}.dark .error-box{background:#ef44441a;border-color:#ef44444d}.dark .error-text,.dark .error-message{color:#fca5a5}.dark .error-field{border-color:#ef4444}.dark input[type=checkbox]{background:#0f172a99;border-color:#47556966}.dark input[type=checkbox]:checked{background:var(--color-primary);border-color:var(--color-primary)}.dark .login-box,.dark .form-input-login,.dark .btn-login{transition:all .3s ease}.dark .modal-field-group{border-bottom-color:#374151}.dark .form-input.has-value{background-color:#2ecc711a}.dark .email-info-box{background:#1ba8db1a;border-color:#1ba8db40}.dark .info-label{color:var(--color-text-secondary-dark)}.dark .info-value{color:var(--color-text-dark)}.dark .attachments-info{background:linear-gradient(135deg,#1ba8dbe6,#1596c7e6)}.dark .form-input.has-value{background-color:#2ecc711a;border-color:#2ecc7180}.dark .field-feedback.success{color:#4ade80}@supports (-webkit-touch-callout: none){.vld-btn,.webapp-footer-btn,.card-clickable,.report-card,button{-webkit-user-select:none;-webkit-touch-callout:none;-moz-user-select:none;user-select:none}.vld-btn:active,.webapp-footer-btn:active{transform:scale(.98);opacity:.8}button,input,select,textarea{touch-action:manipulation}.content-wrapper,.modal-content,.spese-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.webapp-container{height:100vh;height:-webkit-fill-available;height:100dvh}}@supports (padding: env(safe-area-inset-bottom)){.webapp-footer{padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom))}.webapp-footer-space{height:calc(80px + env(safe-area-inset-bottom));--footer-space-height: calc(80px + env(safe-area-inset-bottom)) }.content-wrapper{padding-bottom:env(safe-area-inset-bottom)}@media (max-width: 640px){.modal-content{padding-bottom:env(safe-area-inset-bottom)}}}@supports not (-webkit-touch-callout: none){.webapp-footer{padding-bottom:calc(var(--space-8) + env(safe-area-inset-bottom,8px))}input:focus,textarea:focus,select:focus{position:relative;z-index:1}.webapp-footer-space{height:calc(80px + env(safe-area-inset-bottom,8px));--footer-space-height: calc(80px + env(safe-area-inset-bottom, 8px)) }}@media (max-width: 768px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=search],input[type=url],textarea,select{font-size:16px;line-height:1.5}.keyboard-open .webapp-footer{visibility:hidden;transform:translateY(100%);transition:transform .2s ease}.keyboard-open .webapp-footer-space{height:0;transition:height .2s ease}}@media (max-width: 768px) and (orientation: landscape){.webapp-header{min-height:45px;padding:var(--space-8) var(--space-16)}.webapp-header-space{height:45px;--header-space-height: 45px}.webapp-footer{padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0))}.webapp-footer-btn{min-height:40px;padding:var(--space-8) var(--space-12);font-size:var(--font-xs)}.webapp-footer-space{height:calc(60px + env(safe-area-inset-bottom,0));--footer-space-height: calc(60px + env(safe-area-inset-bottom, 0)) }}@media (max-width: 768px){@supports not (backdrop-filter: blur(10px)){.webapp-footer{backdrop-filter:none;-webkit-backdrop-filter:none}.modal-overlay{backdrop-filter:none;-webkit-backdrop-filter:none;background:#00000080}}.card,.modal-box{box-shadow:0 1px 3px #0000001a}*{animation-duration:.2s;transition-duration:.2s}}@media (pointer: coarse){.vld-btn,.webapp-footer-btn,button,a{min-height:44px;position:relative}.vld-btn:before,.webapp-footer-btn:before{content:"";position:absolute;inset:-4px}input[type=checkbox],input[type=radio]{min-width:24px;min-height:24px;cursor:pointer}.modal-close,.btn-close{min-width:44px;min-height:44px}}.webapp-container{overscroll-behavior:none}body{overscroll-behavior-y:contain}.modal-open{position:fixed;width:100%;height:100%;overflow:hidden}@media (max-width: 320px){.webapp-footer-btn{font-size:11px;padding:var(--space-6) var(--space-8);min-height:38px}.webapp-header-logo-text{font-size:var(--font-base)}}@media (max-width: 280px){.webapp-header-logo-text{display:none}.webapp-footer-btn{font-size:10px;min-height:36px;padding:var(--space-4)}}.footer-group-right .dropdown-container{min-width:120px}.footer-group-right .dropdown-container .webapp-footer-btn{width:100%;min-width:120px}.footer-group-right:has(.dropdown-container:only-child){flex:0 0 auto}.footer-group-right:has(.dropdown-container:only-child) .dropdown-container{min-width:150px}.footer-group-left:has(.webapp-footer-btn:only-child){flex:0 0 auto}.footer-group-left:has(.webapp-footer-btn:only-child) .webapp-footer-btn{min-width:120px}.modal-content .webapp-footer nav{padding:0 10px}.modal-content .webapp-footer .webapp-footer-btn{min-width:100px;padding:var(--space-8) var(--space-12)}.modal-content .footer-group-left,.modal-content .footer-group-right{flex:1}.modal-footer{padding:20px;border-top:1px solid #e5e7eb}.modal-footer .flex{display:flex;width:100%}.modal-footer .flex.justify-between{justify-content:space-between}.modal-footer .flex.gap-2{gap:8px}.modal-footer .vld-btn{min-width:100px;padding:10px 20px}.modal-footer .flex.gap-2 .vld-btn{flex:0 0 auto;min-width:100px}.modal-footer .vld-btn-danger{min-width:100px}.modal-footer .flex.gap-2{flex:1;justify-content:flex-end}.modal-footer .flex.gap-2 .vld-btn{flex:1;max-width:150px}.report-date{font-size:var(--font-sm)}.selector-modern{padding:var(--space-8) calc(var(--space-32) + var(--space-8)) var(--space-8) var(--space-10);font-size:var(--font-base)}.selector-group .selector-modern{padding:var(--space-8) var(--space-24) var(--space-8) var(--space-8)}.alert-success,.alert-error,.alert-warning,.alert-info{font-size:var(--font-base);padding:var(--space-12);margin-bottom:var(--space-16)}.form-input,.form-textarea{font-size:max(16px,var(--font-base));padding:var(--space-10) var(--space-12)}.modal-title{font-size:var(--font-2xl)}.modal-label{font-size:var(--font-sm)}.modal-value{font-size:var(--font-base)}.badge,.report-badge,.командировка{font-size:var(--font-xs);padding:var(--space-4) var(--space-12)}p,span,div,td,th,li{font-size:inherit}@media (max-width: 360px){.webapp-header{min-height:45px}.webapp-footer-btn{min-height:36px}}.debug-scaling *{position:relative}.debug-scaling *:not([class*=font-]):not([class*=space-]){outline:2px solid red}.ferie-summary{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-20);margin-bottom:var(--space-24);box-shadow:var(--shadow-sm)}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-16)}@media (min-width: 768px){.summary-grid{grid-template-columns:repeat(4,1fr)}}.summary-item{text-align:center}.summary-label{display:block;font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.summary-value{display:block;font-size:var(--font-2xl);font-weight:600;color:var(--color-text)}.section-title{font-size:var(--font-lg);font-weight:600;margin-bottom:var(--space-12);color:var(--color-text)}.ferie-list{display:flex;flex-direction:column;gap:var(--space-12)}.ferie-item{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-16);display:flex;justify-content:space-between;align-items:center}.ferie-item.pending{border-left:4px solid var(--color-warning)}.ferie-item.approved{border-left:4px solid var(--color-success)}.ferie-item.past{opacity:.7;border-left:4px solid var(--color-gray-400)}.ferie-dates{display:flex;flex-direction:column;gap:var(--space-4)}@media (min-width: 768px){.ferie-dates{flex-direction:row;align-items:center;gap:var(--space-12)}}.ferie-type{display:inline-block;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:500}.badge-ferie{background:#1ba8db1a;color:var(--color-primary)}.badge-permesso{background:#fb923c1a;color:#fb923c}.badge-malattia{background:#ef44441a;color:#ef4444}.ferie-days{font-size:var(--font-sm);color:var(--color-text-muted)}.status-approved{color:var(--color-success);font-weight:500}.btn-cancel{padding:var(--space-8) var(--space-16);background:#ef44441a;color:#ef4444;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-md);font-size:var(--font-sm);cursor:pointer}.widget-purple{background:linear-gradient(135deg,#667eea,#764ba2)}.widget-indigo{background:linear-gradient(135deg,#5e72e4,#825ee4)}.widget-teal{background:linear-gradient(135deg,#0fb9b1,#2bcbba);cursor:pointer}.widget-icon-purple,.widget-icon-indigo,.widget-icon-teal{width:48px;height:48px;color:#fffc}.ferie-calendar-container{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-20);margin-top:var(--space-16);box-shadow:var(--shadow-sm)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-20);padding-bottom:var(--space-16);border-bottom:1px solid var(--color-border)}.calendar-month-year{font-size:var(--font-xl);font-weight:600;color:var(--color-text)}.calendar-nav{display:flex;gap:var(--space-8)}.calendar-nav-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--color-gray-100);border:none;cursor:pointer;transition:all .2s}.calendar-nav-btn:hover{background:var(--color-primary);color:#fff}.calendar-legend{display:flex;gap:var(--space-16);padding:var(--space-12);background:var(--color-gray-50);border-radius:var(--radius-md);margin-bottom:var(--space-16);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:var(--space-8);font-size:var(--font-sm)}.legend-dot{width:12px;height:12px;border-radius:50%}.legend-dot.ferie{background:#10b981}.legend-dot.permesso{background:#f59e0b}.legend-dot.malattia{background:#ef4444}.legend-dot.festivo{background:#8b5cf6}.legend-dot.weekend{background:#e5e7eb}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--color-border);border-radius:var(--radius-md);overflow:hidden}.calendar-weekday{background:var(--color-gray-100);padding:var(--space-12) var(--space-8);text-align:center;font-size:var(--font-sm);font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.calendar-day{background:var(--color-white);min-height:80px;padding:var(--space-8);position:relative;cursor:pointer;transition:all .2s}.calendar-day:hover{background:var(--color-gray-50)}.calendar-day-number{font-size:var(--font-sm);font-weight:500;color:var(--color-text);margin-bottom:var(--space-4)}.calendar-day.today{background:#1ba8db0d}.calendar-day.today .calendar-day-number{color:var(--color-primary);font-weight:700}.calendar-day.weekend{background:var(--color-gray-50)}.calendar-day.weekend .calendar-day-number{color:var(--color-text-muted)}.calendar-day.festivo{background:#8b5cf61a}.calendar-day.other-month{opacity:.3}.calendar-day.selected{background:#1ba8db1a;border:2px solid var(--color-primary)}.day-events{display:flex;flex-direction:column;gap:2px;margin-top:var(--space-4)}.day-event{padding:2px 4px;border-radius:2px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff}.day-event.ferie{background:#10b981}.day-event.permesso{background:#f59e0b}.day-event.malattia{background:#ef4444}.day-event.pending{opacity:.6;border:1px dashed currentColor;background:transparent;color:inherit}.day-badge{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--color-primary);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.calendar-list-view{margin-top:var(--space-24);padding-top:var(--space-24);border-top:1px solid var(--color-border)}.calendar-list-header{font-size:var(--font-lg);font-weight:600;margin-bottom:var(--space-16);color:var(--color-text)}.calendar-event-list{display:flex;flex-direction:column;gap:var(--space-12)}.calendar-event-item{display:flex;align-items:center;padding:var(--space-12);background:var(--color-gray-50);border-radius:var(--radius-md);gap:var(--space-12)}.event-color-bar{width:4px;height:40px;border-radius:2px}.event-info{flex:1}.event-employee{font-weight:500;color:var(--color-text)}.event-dates{font-size:var(--font-sm);color:var(--color-text-muted)}.event-status{padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:500}.event-status.approved{background:#10b9811a;color:#10b981}.event-status.pending{background:#f59e0b1a;color:#f59e0b}.ferie-quick-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-16);margin-bottom:var(--space-20)}.stat-card{background:var(--color-gray-50);padding:var(--space-16);border-radius:var(--radius-md);text-align:center}.stat-value{font-size:var(--font-2xl);font-weight:700;color:var(--color-text)}.stat-label{font-size:var(--font-sm);color:var(--color-text-muted);margin-top:var(--space-4)}@media (max-width: 768px){.calendar-grid{gap:0}.calendar-day{min-height:60px;padding:var(--space-4)}.calendar-weekday{padding:var(--space-8) var(--space-4);font-size:11px}.day-event{display:none}.day-badge{position:static;margin-top:var(--space-4)}.calendar-legend{gap:var(--space-8)}}.calendar-day.worked{background:#22c55e1a;border-bottom:2px solid rgba(34,197,94,.5)}.calendar-day.worked .calendar-day-number{font-weight:600}.legend-dot.worked{background:#22c55e80;border:1px solid #22c55e}.modal-body{padding:var(--space-20);max-height:60vh;overflow-y:auto}.section-subtitle{font-size:var(--font-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--space-12);padding-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.day-reports-list,.day-vacations-list{display:flex;flex-direction:column;gap:var(--space-12);margin-bottom:var(--space-20)}.report-card-mini{background:var(--color-gray-50);padding:var(--space-12);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.report-customer{font-weight:600;color:var(--color-text);margin-bottom:var(--space-4)}.report-details{font-size:var(--font-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.report-description{font-size:var(--font-sm);color:var(--color-text);margin-top:var(--space-8);padding-top:var(--space-8);border-top:1px solid var(--color-border)}.vacation-card-mini{background:var(--color-gray-50);padding:var(--space-12);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--space-12)}.vacation-type{padding:var(--space-4) var(--space-8);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--font-xs);font-weight:500}.vacation-status{font-size:var(--font-sm);font-weight:500}.vacation-status.approvata{color:#10b981}.vacation-status.richiesta{color:#f59e0b}.vacation-note{font-size:var(--font-sm);color:var(--color-text-muted);margin-left:auto}.day-total-hours{font-size:14px;font-weight:600;color:#059669;margin-top:var(--space-4);text-align:center}.calendar-day.weekend .day-total-hours{color:#047857}.calendar-day.today .day-total-hours{color:var(--color-primary)}@media (max-width: 768px){.day-total-hours{font-size:12px}}.day-holiday-name{font-size:10px;color:#dc2626;margin-top:2px;line-height:1.2;text-align:center;font-weight:500}.calendar-day.festivo{background:#fef2f2}@media (max-width: 768px){.day-holiday-name{font-size:8px}}.day-holiday-name{font-size:10px;color:#dc2626;margin-top:2px;line-height:1.2;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-day.festivo{background-color:#fef2f2}.calendar-day.festivo.worked{background:linear-gradient(135deg,#fef2f2 50%,#dcfce7 50%)}@media (max-width: 768px){.day-holiday-name{font-size:9px}}.calendar-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-20)}.ferie-info-badge{display:inline-flex;align-items:center;gap:var(--space-8);padding:var(--space-8) var(--space-16);background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #0ea5e9;border-radius:var(--radius-full);font-size:var(--font-sm)}.ferie-label{color:var(--color-text-muted);font-weight:500}.ferie-value{font-size:var(--font-xl);font-weight:700;color:#0ea5e9}.ferie-total{color:var(--color-text-muted);font-size:var(--font-sm)}@media (max-width: 768px){.calendar-page-header{flex-direction:column;gap:var(--space-12);text-align:center}.ferie-info-badge{width:100%;justify-content:center}}.vld-upload-preview-item{position:relative;display:flex;align-items:flex-start;justify-content:flex-end}.vld-upload-preview-item .vld-crop-trigger-btn,.vld-upload-preview-item .vld-upload-remove-btn{position:absolute!important;top:8px!important;width:36px!important;height:36px!important;border-radius:50%;border:2px solid white;box-shadow:0 2px 8px #0000004d;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;z-index:20}.vld-upload-preview-item .vld-crop-trigger-btn{left:8px!important;right:auto!important;background:#3b82f6;color:#fff}.vld-upload-preview-item .vld-upload-remove-btn{right:8px!important;left:auto!important;background:#ef4444;color:#fff}@media (max-width: 768px){.vld-upload-preview-item .vld-crop-trigger-btn,.vld-upload-preview-item .vld-upload-remove-btn{width:40px!important;height:40px!important;font-size:20px!important}}.vld-upload-preview-item .vld-crop-trigger-btn:hover{transform:scale(1.1);background:#2563eb}.vld-upload-preview-item .vld-upload-remove-btn:hover{transform:scale(1.1);background:#dc2626}.vld-upload-preview-item .vld-crop-trigger-btn:active,.vld-upload-preview-item .vld-upload-remove-btn:active{transform:scale(.95)}
