:root{--primary-light:#6b8cae1a;--secondary-hover:#7a92a7;--background-overlay:#000c;--text-disabled:#6b7280;--border-hover:#4b5563;--border-focus:var(--primary-color);--success-bg:#10b9811a;--success-border:#10b9814d;--warning-bg:#f59e0b1a;--warning-border:#f59e0b4d;--error-bg:#ef44441a;--error-border:#ef44444d;--info-color:#3b82f6;--info-bg:#3b82f61a;--info-border:#3b82f64d;--whatsapp-green:#25d366;--whatsapp-hover:#20ba5a;--font-sans:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI","Roboto","Helvetica Neue",sans-serif;--font-mono:"SF Mono","Monaco","Cascadia Code","Consolas","Courier New",monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--leading-tight:1.2;--leading-snug:1.4;--leading-normal:1.6;--leading-relaxed:1.8;--tracking-tight:-0.02em;--tracking-normal:0;--tracking-wide:0.05em;--tracking-wider:0.1em;--space-0:0;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.625rem;--space-4:0.875rem;--space-5:1rem;--space-6:1.25rem;--space-8:1.75rem;--space-10:2.25rem;--space-12:2.75rem;--space-16:3.5rem;--space-20:4.5rem;--space-24:5.5rem;--radius-none:0;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-2xl:22px;--radius-full:9999px;--shadow-none:none;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-primary:0 4px 12px #6b8cae4d;--shadow-success:0 4px 12px #10b9814d;--shadow-error:0 4px 12px #ef44444d;--ease-linear:cubic-bezier(0,0,1,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--duration-fast:150ms;--duration-base:200ms;--duration-slow:300ms;--duration-slower:500ms;--transition-bounce:300ms cubic-bezier(0.68,-0.55,0.265,1.55);--z-base:0;--z-dropdown:10;--z-sticky:20;--z-fixed:30;--z-header:40;--z-overlay:50;--z-modal:60;--z-popover:70;--z-toast:80;--z-tooltip:90;--z-max:999;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-max-width:1200px;--sidebar-width:280px;--header-height:64px}@media (max-width:768px){:root{--text-3xl:1.75rem;--text-4xl:2rem;--text-5xl:2.5rem}}@media (min-width:768px) and (max-width:1024px){:root{--space-8:1.75rem;--space-10:2.25rem}}@media (min-width:1536px){:root{--space-16:5rem;--space-20:6rem}}.btn,button[class*=" btn-"],button[class^=btn-]{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:var(--radius-sm);box-shadow:0 1px 2px 0 #0000000d;color:#fff;cursor:pointer;display:inline-flex;font-family:var(--font-sans);font-size:.875rem;font-weight:var(--font-semibold);gap:var(--space-2);justify-content:center;letter-spacing:.025em;line-height:var(--leading-tight);min-height:40px;min-width:40px;padding:.625rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:hover,button[class*=" btn-"]:hover,button[class^=btn-]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn:active,button[class*=" btn-"]:active,button[class^=btn-]:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn:disabled,button[class*=" btn-"]:disabled,button[class^=btn-]:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.btn:focus-visible,button[class*=" btn-"]:focus-visible,button[class^=btn-]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.btn-accept,.btn-add,.btn-confirm,.btn-create,.btn-save,.btn-submit,.btn-upload,button[type=submit]:not(.btn-cancel):not(.btn-delete):not(.btn-logout):not(.btn-danger){background:var(--success-color);border:2px solid #0000;color:#fff}.btn-accept:hover,.btn-add:hover,.btn-confirm:hover,.btn-create:hover,.btn-save:hover,.btn-submit:hover,.btn-upload:hover,button[type=submit]:not(.btn-cancel):not(.btn-delete):not(.btn-logout):not(.btn-danger):hover{background:#059669;box-shadow:var(--shadow-success)}.btn-add:before,.btn-create:before{content:"+";font-size:1.5rem;font-weight:var(--font-bold);line-height:1;margin-right:var(--space-1)}.btn-edit{background:#f59e0b;border:2px solid #0000;color:#fff}.btn-edit:hover{background:#d97706;box-shadow:0 4px 6px -1px #f59e0b4d,0 2px 4px -1px #f59e0b33}.btn-details,.btn-info,.btn-primary,.btn-view{background:var(--primary-color);border:2px solid #0000;color:#fff}.btn-details:hover,.btn-info:hover,.btn-primary:hover,.btn-view:hover{background:var(--primary-hover);box-shadow:var(--shadow-primary)}.btn-cancel,.btn-close,.btn-danger,.btn-delete,.btn-deny,.btn-logout,.btn-remove{background:var(--error-color);border:2px solid #0000;color:#fff}.btn-cancel:hover,.btn-close:hover,.btn-danger:hover,.btn-delete:hover,.btn-deny:hover,.btn-logout:hover,.btn-remove:hover{background:#dc2626;box-shadow:var(--shadow-error)}.btn-back,.btn-outline,.btn-secondary{background:var(--background-elevated);border:2px solid var(--border-color);color:var(--text-primary)}.btn-back:hover,.btn-outline:hover,.btn-secondary:hover{background:var(--border-color);border-color:var(--text-muted)}.btn-whatsapp{background:var(--whatsapp-green);border:2px solid #0000;color:#fff}.btn-whatsapp:hover{background:var(--whatsapp-hover);box-shadow:0 4px 12px #25d3664d}.btn-whatsapp:before{content:"📱";font-size:1.25rem;margin-right:var(--space-1)}.btn-xs{font-size:var(--text-xs);min-height:32px;min-width:32px;padding:var(--space-1) var(--space-3)}.btn-sm{font-size:var(--text-sm);min-height:36px;min-width:36px;padding:var(--space-2) var(--space-4)}.btn-lg{font-size:var(--text-lg);min-height:56px;min-width:56px;padding:var(--space-4) var(--space-8)}.btn-xl{font-size:var(--text-xl);min-height:64px;min-width:64px;padding:var(--space-5) var(--space-10)}.btn-icon{height:48px;min-width:48px;padding:var(--space-3);width:48px}.btn-icon-sm{height:36px;min-width:36px;padding:var(--space-2);width:36px}.btn-icon-lg{height:56px;min-width:56px;padding:var(--space-4);width:56px}.btn-circle{border-radius:var(--radius-full);padding:0}.btn-block{display:flex;width:100%}.btn-ghost{background:#0000;border:2px solid;box-shadow:none}.btn-ghost:hover{background:var(--background-elevated);box-shadow:var(--shadow-sm)}.btn-link{background:#0000;box-shadow:none;color:var(--primary-color);letter-spacing:normal;min-height:auto;min-width:auto;padding:0;text-decoration:underline;text-transform:none}.btn-link:hover{box-shadow:none;color:var(--primary-hover);text-decoration:none;transform:none}.btn-loading{color:#0000;cursor:wait;pointer-events:none;position:relative}.btn-loading:after{animation:btn-spin .6s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:initial;content:"";height:16px;left:50%;margin-left:-8px;margin-top:-8px;position:absolute;top:50%;width:16px}@keyframes btn-spin{to{transform:rotate(1turn)}}.btn-loading.btn-sm:after{height:12px;margin-left:-6px;margin-top:-6px;width:12px}.btn-loading.btn-lg:after{height:20px;margin-left:-10px;margin-top:-10px;width:20px}.btn-active,.btn.active{background:var(--primary-dark);box-shadow:inset 0 2px 4px #0003}.btn-group{flex-wrap:wrap}.btn-group,.btn-group-vertical{display:inline-flex;gap:var(--space-2)}.btn-group-vertical{flex-direction:column}.btn-group-attached{display:inline-flex;gap:0}.btn-group-attached .btn{border-radius:0;margin-left:-1px}.btn-group-attached .btn:first-child{border-bottom-left-radius:var(--radius-sm);border-top-left-radius:var(--radius-sm);margin-left:0}.btn-group-attached .btn:last-child{border-bottom-right-radius:var(--radius-sm);border-top-right-radius:var(--radius-sm)}.btn-group-attached .btn:hover{z-index:1}.modal-btn-primary{background:var(--primary-color);color:#fff}.modal-btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-primary)}.modal-btn-secondary{background:var(--background-elevated)}.modal-btn-secondary:hover{background:var(--border-color)}.modal-btn-danger{background:var(--error-color);color:#fff}.modal-btn-danger:hover{background:#dc2626;box-shadow:var(--shadow-error)}.close-icon,.modal-close,button[aria-label=Close],button[aria-label=Sluiten]{border:none;border-radius:var(--radius-full);cursor:pointer;font-weight:var(--font-bold)}@media (max-width:768px){.btn,button[class*=" btn-"],button[class^=btn-]{font-size:1.0625rem;min-height:52px;padding:var(--space-4) var(--space-5);width:100%}.btn-sm{font-size:1rem;min-height:44px;padding:var(--space-3) var(--space-4)}.btn-xs{font-size:var(--text-sm);min-height:36px;padding:var(--space-2) var(--space-3)}.btn-icon{width:48px}.btn-icon-sm{width:36px}.btn-icon-lg{width:56px}.btn-group{flex-direction:column;width:100%}.btn-group .btn{width:100%}.close-icon,.modal-close{font-size:1.25rem;height:36px;min-height:36px;min-width:36px;width:36px}.btn,button[class*=" btn-"],button[class^=btn-]{font-size:.875rem;letter-spacing:.025em;min-height:44px;min-width:44px;overflow:hidden;padding:var(--space-2) var(--space-4);text-overflow:ellipsis;white-space:normal}}@media (max-width:768px){@media (max-width:480px){.btn,button[class*=" btn-"],button[class^=btn-]{font-size:.8125rem;gap:var(--space-1);padding:var(--space-2) var(--space-3)}}.btn-group .btn,.button-group .btn{max-width:100%;overflow:hidden;text-overflow:ellipsis}}@media (hover:none) and (pointer:coarse){.btn:active,button[class*=" btn-"]:active,button[class^=btn-]:active{opacity:.9;transform:scale(.95)}.btn:hover,button[class*=" btn-"]:hover,button[class^=btn-]:hover{box-shadow:var(--shadow-sm);transform:none}}@media (prefers-contrast:more){.btn,button[class*=" btn-"],button[class^=btn-]{border:2px solid}}@media (prefers-reduced-motion:reduce){.btn,.btn-loading:after,button[class*=" btn-"],button[class^=btn-]{animation:none;transition:none}}.btn-small{font-size:var(--text-xs);min-height:32px;min-width:32px}.card{padding:var(--space-6)}@media (max-width:768px){.card{border-radius:var(--radius-sm);padding:var(--space-5)}}.card-elevated{box-shadow:var(--shadow-lg)}.card-elevated:hover{transform:translateY(-2px)}.card-flat{border:2px solid var(--border-color);box-shadow:none}.card-outlined{border:2px solid var(--primary-color);box-shadow:none}.card-clickable{cursor:pointer}.card-clickable:hover{border-color:var(--primary-color);transform:translateY(-2px)}.card-clickable:active{transform:translateY(0)}.card-header{margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.card-title{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0}.card-subtitle{color:var(--text-muted);font-size:var(--text-sm);line-height:var(--leading-snug);margin-bottom:0;margin-top:var(--space-2)}.card-header-actions{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--space-4);padding-bottom:var(--space-4)}.card-body{padding:var(--space-4) 0}.card-body p:last-child{margin-bottom:0}.card-footer{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4);padding-top:var(--space-4)}@media (max-width:768px){.card-footer{flex-direction:column-reverse}}.card-grid{grid-gap:var(--space-6);gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media (max-width:768px){.card-grid{gap:var(--space-5);grid-template-columns:1fr}}.card-grid-2{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(2,1fr)}@media (max-width:768px){.card-grid-2{gap:var(--space-5);grid-template-columns:1fr}}.card-grid-3{grid-gap:var(--space-6);display:grid;gap:var(--space-6);grid-template-columns:repeat(3,1fr)}@media (max-width:1024px){.card-grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.card-grid-3{gap:var(--space-5);grid-template-columns:1fr}}.info-card h3{gap:var(--space-3);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-6)}.info-label{font-weight:var(--font-medium)}.info-label,.info-value{font-size:var(--text-sm)}.info-value{font-weight:var(--font-semibold)}.info-value.large{font-size:var(--text-lg)}.info-value.positive{color:var(--success-color)}.info-value.negative{color:var(--error-color)}@media (max-width:768px){.info-card{padding:var(--space-5)}.info-card h3{font-size:var(--text-lg)}.info-card h3:before{height:22px;width:6px}.info-row{align-items:flex-start;flex-direction:column;gap:var(--space-1)}.info-label{min-width:auto}.info-value{text-align:left}}.stat-card{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-6);text-align:center;transition:all var(--transition-base)}.stat-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card-label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-3);text-transform:uppercase}.stat-card-value{color:var(--text-primary);font-size:var(--text-4xl);font-weight:var(--font-extrabold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight)}.stat-card-value.primary{color:var(--primary-color)}.stat-card-value.success{color:var(--success-color)}.stat-card-value.error{color:var(--error-color)}.stat-card-value.warning{color:var(--warning-color)}@media (max-width:768px){.stat-card-value{font-size:var(--text-3xl)}}.feature-card{background:var(--background-elevated);border:2px solid #0000;border-radius:var(--radius-lg);padding:var(--space-8);text-align:center;transition:all var(--transition-base)}.feature-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.feature-icon{font-size:3rem;margin-bottom:var(--space-4)}.feature-card h3{color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin-bottom:var(--space-3)}.feature-card p{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.contact-card{background:var(--background-card);border:2px solid var(--primary-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6)}.contact-name{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:var(--space-1)}.contact-position{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium);margin-bottom:var(--space-4)}.contact-details{display:flex;flex-direction:column;gap:var(--space-3)}.contact-detail-item{border-radius:var(--radius-sm);font-size:var(--text-sm);gap:var(--space-3);padding:var(--space-2)}.contact-detail-item a{font-weight:var(--font-medium);transition:color var(--transition-fast)}.card-compact{padding:var(--space-4)}.card-spacious{padding:var(--space-8)}.card-full{width:100%}.card-centered{text-align:center}@media (hover:none) and (pointer:coarse){.card-clickable:active{transform:scale(.98)}}@media (prefers-reduced-motion:reduce){.card,.card-clickable,.feature-card,.stat-card{transition:none}}.m-0{margin:0}.m-1{margin:var(--space-1)}.m-2{margin:var(--space-2)}.m-3{margin:var(--space-3)}.m-4{margin:var(--space-4)}.m-5{margin:var(--space-5)}.m-6{margin:var(--space-6)}.m-8{margin:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-5{margin-bottom:var(--space-5)}.mb-7{margin-bottom:2rem}.mb-8{margin-bottom:var(--space-8)}.ml-0{margin-left:0}.ml-1{margin-left:var(--space-1)}.ml-2{margin-left:var(--space-2)}.ml-3{margin-left:var(--space-3)}.ml-4{margin-left:var(--space-4)}.mr-0{margin-right:0}.mr-1{margin-right:var(--space-1)}.mr-2{margin-right:var(--space-2)}.mr-3{margin-right:var(--space-3)}.mr-4{margin-right:var(--space-4)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.pt-0{padding-top:0}.pt-1{padding-top:var(--space-1)}.pt-2{padding-top:var(--space-2)}.pt-3{padding-top:var(--space-3)}.pt-4{padding-top:var(--space-4)}.pt-5{padding-top:var(--space-5)}.pt-6{padding-top:var(--space-6)}.pb-0{padding-bottom:0}.pb-1{padding-bottom:var(--space-1)}.pb-2{padding-bottom:var(--space-2)}.pb-3{padding-bottom:var(--space-3)}.pb-4{padding-bottom:var(--space-4)}.pb-5{padding-bottom:var(--space-5)}.pb-6{padding-bottom:var(--space-6)}.text-left{text-align:left}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-success{color:var(--success-color)}.text-error{color:var(--error-color)}.text-warning{color:var(--warning-color)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.font-extrabold{font-weight:var(--font-extrabold)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-clamp-2{-webkit-line-clamp:2}.line-clamp-2,.line-clamp-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.hidden,.hide-mobile{display:none}@media (min-width:768px){.hide-mobile{display:inline;display:initial}}.show-mobile{display:inline;display:initial}@media (min-width:768px){.show-mobile{display:none}}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.flex-1{flex:1 1}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-7{gap:2rem}.gap-8{gap:var(--space-8)}.w-full{width:100%}.w-auto{width:auto}.w-screen{width:100vw}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.max-w-xs{max-width:320px}.max-w-sm{max-width:480px}.max-w-md{max-width:640px}.max-w-lg{max-width:768px}.max-w-xl{max-width:1024px}.max-w-2xl{max-width:1200px}.max-w-full{max-width:100%}.min-w-250{min-width:250px}.min-w-300{min-width:300px}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:-webkit-sticky;position:sticky}.border{border:1px solid var(--border-color)}.border-2{border:2px solid var(--border-color)}.border-t{border-top:1px solid var(--border-color)}.border-b{border-bottom:1px solid var(--border-color)}.border-l{border-left:1px solid var(--border-color)}.border-r{border-right:1px solid var(--border-color)}.border-primary{border-color:var(--primary-color)}.border-success{border-color:var(--success-color)}.border-error{border-color:var(--error-color)}.border-warning{border-color:var(--warning-color)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-full{border-radius:var(--radius-full)}.bg-dark{background-color:var(--background-dark)}.bg-card{background-color:var(--background-card)}.bg-elevated{background-color:var(--background-elevated)}.bg-primary{background-color:var(--primary-color)}.bg-success{background-color:var(--success-color)}.bg-error{background-color:var(--error-color)}.bg-warning{background-color:var(--warning-color)}.shadow-none{box-shadow:none}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.cursor-auto{cursor:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.transition{transition:all var(--transition-base)}.transition-fast{transition:all var(--transition-fast)}.transition-slow{transition:all var(--transition-slow)}.slide-in{animation:slideIn var(--transition-slow) ease-out}.container{max-width:var(--container-max-width);padding:var(--space-5)}@media (min-width:768px){.container{padding:var(--space-6)}}@media (min-width:1024px){.container{padding:var(--space-8)}}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}@media (max-width:768px){.grid-cols-2,.grid-cols-3,.grid-cols-4{grid-template-columns:1fr}}.skip-link{background:var(--primary-color);color:#fff;left:0;padding:var(--space-3) var(--space-4);position:absolute;text-decoration:none;top:-40px;z-index:100}.skip-link:focus{top:0}.loading{opacity:.6;pointer-events:none;position:relative}.loading:after{animation:spin .6s linear infinite;border:2px solid var(--primary-color);border-radius:50%;border-top:2px solid #0000;content:"";height:20px;left:50%;margin:-10px 0 0 -10px;position:absolute;top:50%;width:20px}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-truncate-2{-webkit-line-clamp:2}.text-truncate-2,.text-truncate-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.text-truncate-3{-webkit-line-clamp:3}.text-truncate-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}@media (max-width:768px){.text-truncate-mobile{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-truncate-2-mobile{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}}.text-break-word{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:break-word}.text-break-all{word-break:break-all}.text-no-select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.text-fade-overflow{max-height:4.5em;overflow:hidden;position:relative}.text-fade-overflow:after{background:linear-gradient(90deg,#0000,#fff);background:linear-gradient(to right,#0000,var(--background-card,#fff));bottom:0;content:"";height:1.5em;position:absolute;right:0;width:30%}.card-elevated{border:2px solid var(--border-color);box-shadow:var(--shadow-md);transition:all var(--transition-base)}.card-elevated:hover{border-color:var(--primary-color);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.card-elevated:active{transform:translateY(-2px)}.card-header{border-bottom:2px solid var(--border-color);padding:1rem 1.25rem}.card-header .card-title{color:var(--primary-color);font-size:1.125rem;font-weight:600;margin:0}.card-header .card-title.text-xl{font-size:1.25rem}@media (max-width:768px){.card-header{padding:.875rem 1rem}.card-header .card-title{font-size:1rem}}.card-body{padding:1rem 1.25rem}@media (max-width:768px){.card-body{padding:.875rem 1rem}}.card-footer{background:var(--background-elevated);border-top:1px solid var(--border-color);padding:1rem 1.25rem}@media (max-width:768px){.card-footer{padding:.875rem 1rem}}.card-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr;margin-top:1.5rem}@media (min-width:640px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media (min-width:1024px){.card-grid{gap:2rem}}.id-badge{align-items:center;background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-muted);display:inline-flex;font-size:.875rem;gap:.25rem;padding:.25rem .75rem}.status-badge{gap:.375rem}.status-badge.badge-active{background:#10b9811a;border:1px solid var(--success-color);color:var(--success-color)}.status-badge.badge-inactive{background:#6b72801a;border:1px solid var(--border-color);color:var(--text-muted)}.status-badge.badge-archived{background:#f59e0b1a;border:1px solid #f59e0b;color:#f59e0b}.status-badge.badge-pending{background:#3b82f61a;border:1px solid #3b82f6;color:#3b82f6}.metadata-list{margin:0;padding:0}.metadata-item{align-items:flex-start;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:.5rem 0}.metadata-item:last-child{border-bottom:none;padding-bottom:0}.metadata-item:first-child{padding-top:0}.metadata-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.8125rem;font-weight:600;gap:.375rem;min-width:120px}.metadata-icon{align-items:center;display:inline-flex;flex-shrink:0;font-size:1rem;justify-content:center;width:20px}.metadata-value{color:var(--text-primary);flex:1 1;font-size:.875rem;font-weight:500;text-align:right;word-break:break-word}.metadata-value .placeholder{color:var(--text-muted);font-style:italic;font-weight:400}@media (max-width:640px){.metadata-item{align-items:flex-start;border-bottom:1px solid var(--border-color);flex-direction:column;gap:.25rem;padding:.625rem 0}.metadata-item:last-child{border-bottom:none}.metadata-label{color:var(--text-secondary);font-size:.75rem;letter-spacing:.05em;min-width:auto;text-transform:uppercase}.metadata-value{font-size:.9375rem;padding-left:0;text-align:left;width:100%}}.date-badges-container{align-items:center;background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-top:.75rem;padding:.75rem}.date-badge{font-size:.875rem}@media (max-width:640px){.date-badges-container{align-items:stretch;flex-direction:column;gap:.5rem}.date-badge{justify-content:center}.date-separator{transform:rotate(90deg)}}.card-actions{display:flex;flex-wrap:wrap;gap:.75rem}.card-actions .btn{align-items:center;display:inline-flex;gap:.375rem;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content;width:100%}@media (max-width:640px){.card-actions{flex-direction:column}.card-actions .btn{width:100%}}.card-actions .btn-delete{width:100%}.value-display{align-items:center;background:var(--background-elevated);border:2px solid;border-radius:var(--radius-sm);display:flex;justify-content:space-between;margin-top:1rem;padding:.875rem 1rem}.value-display.value-positive{background:#10b9810d;border-color:var(--success-color)}.value-display.value-negative{background:#ef44440d;border-color:var(--error-color)}.value-display.value-neutral{background:var(--background-elevated);border-color:var(--border-color)}.value-display.value-loading{border-color:var(--border-color);cursor:wait;opacity:.6}.value-label{align-items:center;color:var(--text-secondary);display:flex;font-weight:600;gap:.5rem}.value-amount{font-family:Courier New,monospace;font-size:1.125rem;font-weight:700}.totals-overview{margin-top:2rem}.total-label{color:var(--text-muted);margin-bottom:.5rem}.total-value{color:var(--text-primary);font-size:2rem;font-weight:700}.total-meta{color:var(--text-muted);font-size:.875rem;margin-top:.5rem}@media (max-width:640px){.totals-grid{gap:1.5rem;grid-template-columns:1fr}.total-divider{background:linear-gradient(to right,#0000,var(--border-color) 20%,var(--border-color) 80%,#0000);height:2px;margin:0 auto;width:80%}.total-value{font-size:1.75rem}}.empty-state{padding:3rem 1.5rem;text-align:center}.empty-state-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.empty-state-title{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.empty-state-message{color:var(--text-muted);margin-bottom:1.5rem}.card-skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem}.skeleton-line{background:var(--background-elevated);border-radius:var(--radius-sm);height:1rem;margin-bottom:.75rem}.skeleton-line.short{width:60%}.skeleton-line.medium{width:80%}.filters-toolbar{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}@media (max-width:768px){.filters-toolbar{padding:1rem}}.search-wrapper{position:relative;width:100%}.search-wrapper .form-input{padding-left:3rem;padding-right:3rem}.clear-search-btn{opacity:.8}.clear-search-btn:focus{outline:2px solid var(--error-color);outline-offset:2px}.results-summary{border-radius:var(--radius-sm);justify-content:space-between;margin-bottom:1rem;padding:.875rem 1.25rem}.results-count{color:var(--text-primary);font-weight:600}.results-meta{color:var(--text-muted);font-size:.875rem}.form-container{max-width:800px}.form-section{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.25rem}@media (max-width:768px){.form-section{padding:1rem}}.form-section-header{border-bottom:2px solid var(--border-color);margin-bottom:1rem;padding-bottom:.75rem}.form-section-title{align-items:center;color:var(--primary-color);display:flex;font-size:1.125rem;font-weight:700;gap:.5rem;margin:0}.form-section-title.text-base{font-size:1rem}.form-section-description{color:var(--text-muted);font-size:.8125rem;margin-top:.375rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem}.form-grid-2{grid-template-columns:repeat(2,1fr)}.form-grid-3{grid-template-columns:repeat(3,1fr)}@media (max-width:768px){.form-grid{gap:.875rem}.form-grid-2,.form-grid-3{grid-template-columns:1fr}}.form-item-full{grid-column:1/-1}.form-group{gap:.375rem;margin-bottom:0}.form-label{align-items:center;color:var(--text-secondary);display:flex;font-size:.8125rem;gap:.25rem;letter-spacing:.03em;text-transform:uppercase}.form-label.required:after{content:"*";margin-left:.125rem}.form-label-helper{color:var(--text-muted);font-size:.75rem;font-weight:400;letter-spacing:normal;margin-top:.125rem;text-transform:none}.form-input,.form-select,.form-textarea{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:1rem;padding:.625rem .875rem;transition:all var(--transition-base);width:100%}.form-textarea{font-family:inherit;line-height:1.5;min-height:120px;resize:vertical}@media (max-width:768px){.form-input,.form-select,.form-textarea{font-size:16px}}.form-input:focus,.form-select:focus,.form-textarea:focus{background:var(--background-card);border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--background-elevated);cursor:not-allowed;opacity:.6}.form-input.error,.form-select.error,.form-textarea.error{background:#ef44440d}.form-input.error:focus,.form-select.error:focus,.form-textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.form-input.success,.form-select.success,.form-textarea.success{background:#10b9810d}.form-error{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;margin-top:.375rem}.form-error:before{content:"⚠️";font-size:1rem}.form-success{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.375rem;margin-top:.375rem}.form-success:before{content:"✓";font-size:1rem;font-weight:700}.form-hint{color:var(--text-muted);font-size:.875rem;margin-top:.375rem}.form-checkbox-group,.form-radio-group{display:flex;flex-direction:column;gap:.75rem}.form-checkbox,.form-radio{border-radius:var(--radius-sm);cursor:pointer;gap:.75rem;padding:.75rem;transition:background var(--transition-base)}.form-checkbox:hover,.form-radio:hover{background:var(--background-elevated)}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{accent-color:var(--primary-color);height:20px;width:20px}.form-checkbox-label,.form-radio-label{color:var(--text-primary);cursor:pointer;font-weight:500}.form-file-upload{position:relative}.form-file-input{height:1px;opacity:0;overflow:hidden;position:absolute;width:1px}.form-file-label{border-radius:var(--radius-md);display:flex;gap:.75rem;justify-content:center;padding:1.5rem;text-align:center}.form-file-label.has-file{background:#10b9810d;border-color:var(--success-color);border-style:solid}.form-file-icon{font-size:2rem}.form-file-text{color:var(--text-primary);font-weight:500}.form-file-hint{color:var(--text-muted);font-size:.875rem;margin-top:.5rem}.form-actions{padding-top:1.5rem}.form-actions,.form-actions.sticky{border-top:2px solid var(--border-color)}.form-actions.sticky{background:var(--background-card);border-radius:0 0 var(--radius-md) var(--radius-md);bottom:0;margin:0 -2rem -2rem;padding:1.5rem;position:-webkit-sticky;position:sticky;z-index:10}@media (max-width:768px){.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.form-actions.sticky{margin:0 -1.5rem -1.5rem;padding:1rem 1.5rem}}.form-actions .btn-add,.form-actions .btn-submit{flex:1 1;order:2}.form-actions .btn-cancel,.form-actions .btn-secondary{order:1}.form-validation-summary{background:#ef44441a;border:2px solid var(--error-color);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:1rem 1.25rem}.form-validation-title{align-items:center;color:var(--error-color);display:flex;font-weight:700;gap:.5rem;margin-bottom:.75rem}.form-validation-list{display:flex;flex-direction:column;gap:.5rem;list-style:none;margin:0;padding:0}.form-validation-item{align-items:center;color:var(--error-color);display:flex;font-size:.875rem;gap:.5rem}.form-validation-item:before{content:"•";font-size:1.25rem}.form-progress{background:var(--background-elevated);border-radius:var(--radius-md);justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.form-progress,.form-step{align-items:center;display:flex}.form-step{flex:1 1;gap:.75rem}.form-step-number{align-items:center;background:var(--background-card);border:2px solid var(--border-color);border-radius:50%;color:var(--text-muted);display:flex;font-weight:700;height:36px;justify-content:center;width:36px}.form-step.active .form-step-number{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.form-step.completed .form-step-number{background:var(--success-color);border-color:var(--success-color);color:#fff}.form-step-label{color:var(--text-muted);font-weight:600}.form-step.active .form-step-label{color:var(--text-primary)}@media (max-width:640px){.hide-mobile{display:none}}.show-mobile{display:none}@media (max-width:640px){.show-mobile{display:block}}.form-loading{pointer-events:none;position:relative}.form-loading:after{align-items:center;background:#ffffffb3;border-radius:var(--radius-md);bottom:0;content:"";display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.form-inline{align-items:flex-end;display:flex;gap:1rem}.form-inline .form-group{flex:1 1;margin-bottom:0}.form-inline .btn{flex-shrink:0}@media (max-width:640px){.form-inline{align-items:stretch;flex-direction:column}.form-inline .btn{width:100%}}body{-webkit-overflow-scrolling:touch;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}a,button,input,select,textarea{min-height:44px;min-width:44px}@media (max-width:768px){body{font-size:16px}.container{padding:1rem}.grid,.row{flex-direction:column}.card,.dashboard-card,.info-card{margin-bottom:1rem;width:100%!important}table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}@media (min-width:769px) and (max-width:1024px){.container{padding:1.5rem}}@media (min-width:1025px){.container{margin:0 auto;max-width:1200px}}@media (display-mode:standalone){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}.bg-elevated{background:var(--background-elevated)}:root{--primary-color:#6b8cae;--primary-hover:#5a7a9a;--primary-dark:#405d7a;--secondary-color:#8ba3b8;--background-dark:#1a1d23;--background-card:#23252b;--background-elevated:#2a2d35;--text-primary:#fff;--text-secondary:#d1d5db;--text-muted:#9ca3af;--border-color:#374151;--success-color:#10b981;--warning-color:#f59e0b;--error-color:#ef4444;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition-fast:150ms cubic-bezier(0.4,0,0.2,1);--transition-base:200ms cubic-bezier(0.4,0,0.2,1);--transition-slow:300ms cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background-color:#1a1d23;background-color:var(--background-dark);color:#fff;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.6;margin:0;padding:0}.container{min-width:0;padding:1.25rem}@media (min-width:768px){.container{padding:2rem}}@media (min-width:1024px){.container{padding:2.5rem}}h1,h2,h3,h4,h5,h6{color:#fff;color:var(--text-primary);font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0 0 1rem}h1{margin-bottom:1.5rem}h2{font-size:clamp(1.5rem,3.5vw,2rem)}h3{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:600}p{color:#d1d5db;color:var(--text-secondary);margin:0 0 1rem}input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{-webkit-appearance:none;appearance:none;background-color:#2a2d35;background-color:var(--background-elevated);border:2px solid #374151;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm);box-shadow:inset 0 1px 3px #0000001a;color:#fff;color:var(--text-primary);font-family:inherit;font-size:1rem;line-height:1.5;min-height:48px;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);width:100%}@media (max-width:768px){input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],select,textarea{font-size:16px;min-height:52px}}input:focus,select:focus,textarea:focus{background-color:#23252b;background-color:var(--background-card);border-color:#6b8cae;border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a,inset 0 1px 3px #0000001a;outline:none}input::placeholder{color:#9ca3af;color:var(--text-muted);opacity:.7}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%23D1D5DB' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:2.5rem}select option{background:#23252b;background:var(--background-card);color:#fff;color:var(--text-primary);font-size:1rem;min-height:48px;padding:.875rem}@media (max-width:768px){select option{font-size:16px;min-height:52px;padding:1rem}}input[type=file]{background-color:#2a2d35;background-color:var(--background-elevated);border:2px solid #374151;border:2px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm);color:#fff;color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:1rem;min-height:48px;padding:.875rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);width:100%}input[type=file]:focus,input[type=file]:hover{background-color:#23252b;background-color:var(--background-card);border-color:#6b8cae;border-color:var(--primary-color)}input[type=file]:focus{box-shadow:0 0 0 3px #6b8cae1a;outline:none}input[type=file]::-webkit-file-upload-button{background:#6b8cae;background:var(--primary-color);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:600;margin-right:1rem;padding:.5rem 1rem;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);-webkit-transition:all var(--transition-base);transition:all var(--transition-base)}input[type=file]::file-selector-button{background:#6b8cae;background:var(--primary-color);border:none;border-radius:8px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:600;margin-right:1rem;padding:.5rem 1rem;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base)}input[type=file]::-webkit-file-upload-button:hover{background:#5a7a9a;background:var(--primary-hover)}input[type=file]::file-selector-button:hover{background:#5a7a9a;background:var(--primary-hover)}.btn,.btn-add,.btn-add-customer,.btn-cancel,.btn-close,.btn-create,.btn-danger,.btn-delete,.btn-edit,.btn-logout,.btn-primary,.btn-remove,.btn-save,.btn-secondary,.btn-upload,.btn-view,.btn-view-user,.modal-btn,a.btn-view,button{-webkit-tap-highlight-color:transparent;align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.05em;line-height:1.5;min-height:48px;min-width:48px;padding:.875rem 1.5rem;text-decoration:none;text-transform:uppercase;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);-webkit-user-select:none;user-select:none;white-space:nowrap}.btn-view-user:hover,.btn:hover,a.btn-view:hover,button:hover{box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-view-user:active,.btn:active,a.btn-view:active,button:active{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transform:translateY(0)}.btn:disabled,button:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.5;transform:none!important}.btn-add,.btn-add-customer,.btn-create,.btn-upload,button[type=submit]:not(.btn-cancel):not(.btn-delete):not(.btn-logout):not(.btn-close):not(.btn-danger){background:#10b981;background:var(--success-color);color:#fff}.btn-add-customer:hover,.btn-add:hover,.btn-create:hover,.btn-upload:hover,button[type=submit]:not(.btn-cancel):not(.btn-delete):not(.btn-logout):not(.btn-close):not(.btn-danger):hover{background:#059669;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg)}.btn-add-customer:before,.btn-add:before{line-height:1}.btn-cancel,.btn-close,.btn-danger,.btn-delete,.btn-logout,.btn-remove,.modal-btn-danger,button.close-btn{background:#ef4444!important;background:var(--error-color)!important;color:#fff!important}.btn-cancel:hover,.btn-close:hover,.btn-danger:hover,.btn-delete:hover,.btn-logout:hover,.btn-remove:hover,.modal-btn-danger:hover,button.close-btn:hover{background:#dc2626!important;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg)}.btn-edit,.btn-primary,.btn-save,.btn-view,.btn-view-user,.modal-btn-primary,a.btn-view,button.view{background:#6b8cae!important;background:var(--primary-color)!important;color:#fff!important}.btn-edit:hover,.btn-primary:hover,.btn-save:hover,.btn-view-user:hover,.btn-view:hover,.modal-btn-primary:hover,a.btn-view:hover,button.view:hover{background:#5a7a9a!important;background:var(--primary-hover)!important;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg)}.btn-secondary,.modal-btn-secondary{background:#2a2d35;background:var(--background-elevated);border:2px solid #374151;border:2px solid var(--border-color);color:#fff;color:var(--text-primary)}.btn-secondary:hover,.modal-btn-secondary:hover{background:#374151;background:var(--border-color);border-color:#9ca3af;border-color:var(--text-muted)}@media (max-width:768px){.btn,.btn-add,.btn-add-customer,.btn-cancel,.btn-delete,.btn-edit,.btn-primary,.btn-save,.btn-view,.btn-view-user,.modal-btn,button,button[type=submit]{font-size:1.0625rem;min-height:52px;padding:1rem 1.25rem;width:100%}}.card{background:#23252b;border:1px solid #374151;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);padding:1.5rem;transition:all .2s cubic-bezier(.4,0,.2,1)}.card:hover{border-color:#6b8cae4d;box-shadow:0 10px 15px -3px #0000001a}@media (max-width:768px){.card{border-radius:8px;border-radius:var(--radius-sm);padding:1.25rem}}header{border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);color:#fff;color:var(--text-primary);padding:1.5rem}footer,header{background:#23252b;background:var(--background-card);text-align:center}footer{border-top:1px solid #374151;border-top:1px solid var(--border-color);color:#9ca3af;color:var(--text-muted);font-size:.875rem;margin-top:auto;padding:1.25rem 1rem}form{display:flex;flex-direction:column;gap:1.25rem}.form-group{gap:.5rem}label{font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.app-loading,label{color:#d1d5db;color:var(--text-secondary)}.app-loading{align-items:center;display:flex;font-size:1.125rem;justify-content:center;min-height:100vh}.fade-in{animation:fadeIn ease-out .3s cubic-bezier(.4,0,.2,1);animation:fadeIn var(--transition-slow) ease-out}html{scroll-behavior:smooth}:focus-visible{outline:2px solid #6b8cae;outline:2px solid var(--primary-color);outline-offset:2px}@media (max-width:768px){a,button,input[type=checkbox],input[type=radio],select{min-height:48px;min-width:48px}form{gap:1.5rem}body{font-size:16px}}@supports (padding:env(safe-area-inset-top)){body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}}.text-center{text-align:center}.text-muted{color:#9ca3af;color:var(--text-muted)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:.5rem}.mb-2{margin-bottom:1rem}.mb-3{margin-bottom:1.5rem}.mb-4{margin-bottom:2rem}.mt-0{margin-top:0}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.btn-add,.btn-add-customer,button[type=submit]:not(.btn-cancel):not(.btn-delete):not(.btn-logout){background:#10b981;background:var(--success-color);box-shadow:0 4px 6px -1px #0000001a;box-shadow:var(--shadow-md);color:#fff;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.btn-add-customer:hover,.btn-add:hover{background:#059669;box-shadow:0 10px 15px -3px #0000001a;box-shadow:var(--shadow-lg)}.btn-edit,.btn-save{background:#6b8cae;background:var(--primary-color);color:#fff;font-weight:700}.btn-edit:hover,.btn-save:hover{background:#5a7a9a;background:var(--primary-hover)}.btn-cancel{color:#fff;font-weight:700}.btn-cancel:hover{background:#374151;background:var(--border-color);border-color:var(--text-muted)}.btn-delete,.btn-logout{background:#ef4444;background:var(--error-color);color:#fff;font-weight:700}.btn-delete:hover,.btn-logout:hover{background:#dc2626}.btn-view{background:#6b8cae;font-weight:600}.btn-view:hover{background:#5a7a9a}@media (max-width:768px){.btn-add,.btn-add-customer,.btn-cancel,.btn-delete,.btn-edit,.btn-save,.btn-view,button[type=submit]{font-size:1.0625rem;min-height:52px;padding:1rem 1.25rem;width:100%}}.btn-add,.btn-add-customer{overflow:hidden;position:relative}.btn-add-customer:before,.btn-add:before{content:"+";font-size:1.5rem;font-weight:700;margin-right:.25rem}.modal-footer{margin-top:1.5rem}.modal-btn{border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}@media (max-width:768px){.modal-btn{padding:1rem;width:100%}}.close-icon,.modal-close,button[aria-label=Close],button[aria-label=Sluiten]{align-items:center;background:#ef4444!important;background:var(--error-color)!important;border-radius:50%;color:#fff!important;display:flex;font-size:1.5rem;font-weight:700;height:40px;justify-content:center;line-height:1;min-height:40px;min-width:40px;padding:0;transform-origin:center center;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base);width:40px}.close-icon:hover,.modal-close:hover{background:#dc2626!important;transform:rotate(90deg) scale(1.1);transform-origin:center center}.no-margin{margin:0!important}.container,.full-width{box-sizing:border-box;width:100%}.container{margin:0 auto;max-width:1200px;padding:1rem}@media (min-width:768px){.container{padding:1.5rem}}@media (min-width:1024px){.container{padding:2rem}}.grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr}@media (min-width:640px){.grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.grid{gap:1.5rem}.grid-cols-3{grid-template-columns:repeat(3,1fr)}}@media (min-width:1024px){.grid{gap:2rem}.grid-cols-4{grid-template-columns:repeat(4,1fr)}}.customer-info-grid,.dashboard-row,.project-info-grid,.user-list-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr}@media (min-width:768px){.customer-info-grid,.project-info-grid,.user-list-grid{grid-template-columns:repeat(2,1fr)}.dashboard-row{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}@media (min-width:1024px){.customer-info-grid,.project-info-grid,.user-list-grid{gap:2rem}}.card,.customer-card,.dashboard-card,.info-card,.project-card,.user-card{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);box-sizing:border-box;padding:1.25rem;transition:all var(--transition-base);width:100%}.card:active,.dashboard-card:active,.project-card:active{transform:scale(.98)}@media (min-width:768px){.customer-card,.dashboard-card,.info-card,.project-card,.user-card{padding:1.5rem}}.table-container{-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);margin:1rem 0;overflow-x:auto;width:100%}table{border-collapse:collapse;font-size:.875rem;width:100%}@media (max-width:768px){table{display:block;overflow-x:auto;white-space:nowrap}.document-table,.employee-table,.timesheet-table,table{font-size:.8125rem}.document-table td,.document-table th,.employee-table td,.employee-table th,.timesheet-table td,.timesheet-table th{min-width:80px;overflow:hidden;padding:.75rem .5rem}.hide-mobile{display:none}}th{background:var(--background-elevated);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:600;padding:1rem .75rem;text-align:left}td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:.875rem .75rem}tr:hover{background:var(--background-elevated)}@media (max-width:768px){button,input,select,textarea{font-size:16px;min-height:48px}.register-form__wrapper{flex-direction:column}.register-form__company_info,.register-form__personal_info{width:100%}.form-row{gap:1rem}.form-row,.nav-links{flex-direction:column}.nav-links{background:var(--background-card);box-shadow:var(--shadow-xl);left:0;max-height:calc(100vh - 60px);opacity:0;overflow-y:auto;padding:1.5rem 1rem;pointer-events:none;position:fixed;right:0;top:60px;transform:translateX(-100%);transition:transform var(--transition-slow),opacity var(--transition-slow);width:100%;z-index:1000}.nav-links.open{opacity:1;pointer-events:auto;transform:translateX(0)}.nav-links li{margin:0;width:100%}.nav-links li a,.nav-links li button{border-radius:var(--radius-sm);display:block;padding:1rem 1.25rem;transition:background var(--transition-base);width:100%}.nav-links li a:active{background:var(--background-elevated)}.hamburger{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;flex-direction:column;height:48px;justify-content:center;padding:0;width:48px;z-index:1001}.hamburger .bar{background:var(--text-primary);border-radius:2px;height:3px;margin:3px 0;transition:all var(--transition-base);width:24px}.dashboard-row{flex-direction:column;gap:1.25rem}.financial-overview-card{padding:1.5rem 1rem}.financial-overview-card h3{font-size:1.5rem}.totals-overview{gap:1rem;grid-template-columns:1fr}.recharts-wrapper{height:auto!important;width:100%!important}}@media (hover:none) and (pointer:coarse){.btn:active,a:active,button:active{opacity:.9;transform:scale(.95)}.card:active,.project-card:active{transform:scale(.98)}}@media (max-width:768px) and (orientation:landscape){.container{padding:1rem 2rem}.dashboard-row{grid-template-columns:repeat(2,1fr)}}@media (min-width:769px) and (max-width:1024px){.container{padding:1.5rem}h1{font-size:2rem}.dashboard-row{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){ol,ul{padding-left:1.25rem}.dashboard-card ul li{font-size:.9375rem;padding:.875rem .5rem}}iframe,img,video{border-radius:var(--radius-sm);height:auto;max-width:100%}@media (max-width:768px){.dialog,.modal{margin:1rem;max-height:calc(100vh - 2rem);max-width:100%;overflow-y:auto;width:calc(100% - 2rem)}.section,section{margin-bottom:2rem}h1{margin-bottom:1.25rem}h2{margin-bottom:1rem}h3{margin-bottom:.75rem}}.flex-mobile-col{display:flex}@media (max-width:768px){.flex-mobile-col{flex-direction:column}}.flex-tablet-col{display:flex}@media (max-width:1024px){.flex-tablet-col{flex-direction:column}}@media (max-width:768px){.archive-badge,.badge,.status-badge{font-size:.75rem;padding:.25rem .5rem}.sticky-mobile{background:var(--background-card);box-shadow:var(--shadow-md);padding:.75rem 1rem;position:-webkit-sticky;position:sticky;top:0;z-index:10}}body{overscroll-behavior-y:contain}@supports (padding:env(safe-area-inset-bottom)){.container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}footer{padding-bottom:max(1.25rem,env(safe-area-inset-bottom))}.nav-links{padding-bottom:max(1.5rem,env(safe-area-inset-bottom))}}.flash-message{align-items:center;animation:slideIn .3s ease-out;background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 16px #0003;color:var(--text-primary);display:flex;gap:10px;justify-content:space-between;max-width:400px;min-width:300px;opacity:1;padding:var(--space-3) var(--space-5);position:fixed;right:20px;top:20px;z-index:99999}.flash-message span{flex:1 1;font-size:.95rem}.flash-message .flash-close{background:none;border:none;color:var(--text-primary);cursor:pointer;font-size:1.2rem;opacity:.7;padding:0;transition:opacity .2s}.flash-message .flash-close:hover{opacity:1}.flash-success .flash-close{color:#166534}.flash-error .flash-close{color:#991b1b}.flash-success{background:#f0fdf4;border-left:4px solid var(--success-color);border-color:var(--success-color);color:#166534}.flash-error{background:#fef2f2;border-left:4px solid var(--error-color);border-color:var(--error-color);color:#991b1b}.error-boundary{align-items:center;background:var(--background-page);display:flex;justify-content:center;min-height:100vh;padding:2rem}.error-boundary__container{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:600px;padding:3rem;text-align:center}.error-boundary__title{color:#e53e3e;color:var(--error-color,#e53e3e);font-size:2rem;font-weight:700;margin-bottom:1rem}.error-boundary__message{color:var(--text-secondary);font-size:1.125rem;line-height:1.6;margin-bottom:2rem}.error-boundary__details{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);margin:2rem 0;padding:1rem;text-align:left}.error-boundary__details summary{color:var(--text-primary);cursor:pointer;font-weight:600;margin-bottom:.5rem}.error-boundary__details summary:hover{color:var(--primary-color)}.error-boundary__stack{background:#2d3748;background:var(--background-code,#2d3748);border-radius:var(--radius-sm);color:#f7fafc;color:var(--text-code,#f7fafc);font-family:Courier New,Monaco,monospace;font-size:.875rem;margin-top:1rem;overflow-x:auto;padding:1rem;white-space:pre-wrap;word-break:break-word}.error-boundary__actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.5rem}@media (max-width:640px){.error-boundary{padding:1rem}.error-boundary__container{padding:2rem 1.5rem}.error-boundary__title{font-size:1.5rem}.error-boundary__message{font-size:1rem}.error-boundary__actions{flex-direction:column}.error-boundary__actions button{width:100%}}.language-switcher-dropdown{display:inline-block;position:relative}.lang-dropdown-btn{align-items:center;background:#2a2d35;background:var(--background-elevated,#2a2d35);border:2px solid #374151;border:2px solid var(--border-color,#374151);border-radius:8px;border-radius:var(--radius-sm,8px);color:#d1d5db;color:var(--text-secondary,#d1d5db);cursor:pointer;display:flex;gap:.5rem;justify-content:space-between;min-width:60px;padding:.5rem .75rem;transition:all .2s;transition:all var(--transition-base,.2s)}.lang-dropdown-btn.open,.lang-dropdown-btn:hover{background:#23252b;background:var(--background-card,#23252b);border-color:#6b8cae;border-color:var(--primary-color,#6b8cae)}.lang-dropdown-arrow{font-size:.625rem;transition:transform .2s;transition:transform var(--transition-base,.2s)}.lang-dropdown-btn.open .lang-dropdown-arrow{transform:rotate(180deg)}.lang-dropdown-menu{animation:slideDown .2s ease-out;background:#23252b;background:var(--background-card,#23252b);border:2px solid #374151;border:2px solid var(--border-color,#374151);border-radius:8px;border-radius:var(--radius-sm,8px);box-shadow:0 10px 25px -5px #0000004d;min-width:160px;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.lang-dropdown-item{align-items:center;background:#0000;border:none;border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color,#374151);color:#d1d5db;color:var(--text-secondary,#d1d5db);cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s;transition:all var(--transition-base,.2s);width:100%}.lang-dropdown-item:last-child{border-bottom:none}.lang-dropdown-item:hover{background:#2a2d35;background:var(--background-elevated,#2a2d35);color:#fff;color:var(--text-primary,#fff)}.lang-dropdown-item.active{background:linear-gradient(90deg,#6b8cae26,#0000);color:#6b8cae;color:var(--primary-color,#6b8cae);font-weight:600}.lang-dropdown-item .lang-flag{font-size:1.25rem}.lang-dropdown-item .lang-name{flex:1 1}.lang-dropdown-item .lang-check{color:#6b8cae;color:var(--primary-color,#6b8cae);font-weight:700}.language-switcher{align-items:center;display:flex;gap:.5rem}.language-switcher-auth{position:absolute;right:1rem;top:1rem;z-index:10}.lang-btn{align-items:center;background:#23252b;background:var(--background-card,#23252b);border:2px solid #374151;border:2px solid var(--border-color,#374151);border-radius:8px;border-radius:var(--radius-sm,8px);color:#d1d5db;color:var(--text-secondary,#d1d5db);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;justify-content:center;min-width:40px;padding:.5rem;transition:all .2s cubic-bezier(.4,0,.2,1);transition:all var(--transition-base,.2s) cubic-bezier(.4,0,.2,1)}.lang-btn:hover{background:#2a2d35;background:var(--background-elevated,#2a2d35);box-shadow:0 4px 12px #6b8cae33;transform:translateY(-2px)}.lang-btn.active,.lang-btn:hover{border-color:#6b8cae;border-color:var(--primary-color,#6b8cae)}.lang-btn.active{background:#6b8cae;background:var(--primary-color,#6b8cae);box-shadow:0 4px 12px #6b8cae66;color:#fff;color:var(--text-primary,#fff)}.lang-btn.active .lang-flag{transform:scale(1.1)}.lang-flag{font-size:1.5rem;line-height:1;transition:transform .2s ease;transition:transform var(--transition-base,.2s) ease}.lang-name{font-weight:500;white-space:nowrap}@media (max-width:768px){.language-switcher-auth{gap:.375rem;right:.75rem;top:.75rem}.lang-btn{min-height:44px;min-width:44px;padding:.375rem .5rem}.lang-flag{font-size:1.375rem}.lang-name{display:none}}@media (max-width:480px){.language-switcher-auth{gap:.25rem;right:.5rem;top:.5rem}.lang-btn{min-height:40px;min-width:40px;padding:.25rem .375rem}.lang-flag{font-size:1.25rem}}.login-container .language-switcher-auth .lang-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#23252b;background:var(--background-card,#23252b);border-color:#374151;border-color:var(--border-color,#374151)}.login-container .language-switcher-auth .lang-btn:hover{background:#2a2d35;background:var(--background-elevated,#2a2d35);border-color:#6b8cae;border-color:var(--primary-color,#6b8cae)}.login-container .language-switcher-auth .lang-btn.active{background:#6b8cae;background:var(--primary-color,#6b8cae);border-color:#6b8cae;border-color:var(--primary-color,#6b8cae)}@media (hover:none) and (pointer:coarse){.lang-btn{min-height:44px;min-width:44px}.lang-btn:active{transform:scale(.95);transition:transform .1s ease}}@media (max-width:768px) and (orientation:landscape){.language-switcher-auth{gap:.25rem;right:.5rem;top:.5rem}.lang-btn{min-height:36px;min-width:36px;padding:.25rem}.lang-flag{font-size:1.125rem}}.lang-btn:focus-visible{outline:2px solid #6b8cae;outline:2px solid var(--primary-color,#6b8cae);outline-offset:2px}@keyframes languageChange{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.lang-btn.active{animation:languageChange .3s ease-out}.navigation{background-color:var(--background-card);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-md);padding:.75rem 1.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-container{justify-content:space-between;margin:auto;max-width:1200px}.nav-container,.nav-logo{align-items:center;display:flex}.nav-logo{z-index:1002}.nav-logo img{height:auto;transition:transform var(--transition-base);width:140px}.nav-logo:hover img{transform:scale(1.05)}@media (max-width:768px){.nav-logo img{width:120px}}.nav-links{align-items:center;display:flex;gap:.5rem;list-style:none;margin:0;padding:0}.nav-links li{position:relative}.nav-links li a,.nav-links li button{align-items:center;border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.625rem 1rem;text-decoration:none;transition:all var(--transition-base);white-space:nowrap}.nav-links li a:hover{background:var(--background-elevated);color:var(--text-primary)}.nav-links li a.active{background:var(--primary-color);color:var(--text-primary);font-weight:600}.nav-profile{margin-left:.5rem}.nav-profile img{border:2px solid var(--border-color);border-radius:50%;cursor:pointer;height:40px;object-fit:cover;transition:all var(--transition-base);width:40px}.nav-profile img:hover{border-color:var(--primary-color);transform:scale(1.05)}.btn-logout{background-color:var(--error-color)!important;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:600;padding:.625rem 1.25rem;transition:all var(--transition-base)}.btn-logout:hover{background-color:#dc2626!important;box-shadow:var(--shadow-md);transform:translateY(-1px)}.nav-language-switcher{align-items:center;display:flex}.nav-language-switcher .language-switcher-default{display:none}.nav-language-switcher .language-switcher-dropdown{display:inline-block}@media (max-width:768px){.nav-language-switcher{border-bottom:1px solid var(--border-color);justify-content:center;padding:1rem 1.5rem;width:100%}.nav-language-switcher .language-switcher-dropdown{display:none!important}.nav-language-switcher .language-switcher-default{display:flex!important}.nav-language-switcher .language-switcher{gap:.75rem;justify-content:center;width:100%}.nav-language-switcher .lang-btn{background:var(--background-elevated);border:2px solid var(--border-color);flex:1 1;justify-content:center;max-width:100px;padding:.75rem}.nav-language-switcher .lang-btn.active{background:var(--primary-color);border-color:var(--primary-color)}.nav-language-switcher .lang-btn:hover{background:var(--background-card);border-color:var(--primary-color)}}.hamburger{align-items:center;background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:none;flex-direction:column;gap:5px;height:48px;justify-content:center;overflow:hidden;padding:0;position:relative;transition:all var(--transition-base);width:48px;z-index:1002}.hamburger.open{opacity:0;pointer-events:none;transform:scale(.8)}.hamburger:before{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%);content:"";inset:0;opacity:0;position:absolute;transition:opacity var(--transition-base)}.hamburger:hover:before{opacity:1}.hamburger:hover{border-color:var(--primary-color);transform:scale(1.05)}.hamburger:active{transform:scale(.95)}.hamburger .bar{background-color:var(--text-primary);border-radius:2px;display:block;height:2.5px;position:relative;transition:all .3s cubic-bezier(.68,-.55,.265,1.55);width:24px;z-index:1}.hamburger.open{background:var(--background-elevated);border-color:var(--primary-color)}.hamburger.open:before{opacity:.1}.hamburger.open .bar:first-child{transform:translateY(7.5px) rotate(45deg)}.hamburger.open .bar:nth-child(2){opacity:0;transform:translateX(-20px)}.hamburger.open .bar:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}@media (max-width:768px){.navigation{padding:.75rem 1rem}.hamburger{display:flex}.nav-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000c;bottom:0;left:0;opacity:0;position:fixed;right:0;top:0;transition:all .3s ease;visibility:hidden;z-index:999}.nav-overlay.open{opacity:1;visibility:visible}.nav-links{-webkit-overflow-scrolling:touch;align-items:stretch;background:var(--background-card);bottom:0;flex-direction:column;gap:0;height:100vh;left:0;max-height:100vh;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:0;position:fixed;right:0;top:0;transform:translateX(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:100%;z-index:1002}@supports (height:100dvh){.nav-links{height:100dvh;max-height:100dvh}}.nav-links.open{transform:translateX(0)}.nav-links:before{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:2px solid var(--border-color);content:"";display:block;padding:0;position:-webkit-sticky;position:sticky;z-index:10}.nav-close-btn,.nav-links:before{background:var(--background-elevated);height:60px;top:0}.nav-close-btn{align-items:center;border:none;border-bottom:2px solid var(--border-color);color:var(--text-primary);cursor:pointer;display:none;font-size:1.125rem;font-weight:600;justify-content:space-between;left:0;padding:0 1.5rem;position:fixed;right:0;transition:all var(--transition-base);z-index:1003}.nav-links.open~.nav-close-btn{display:flex}.nav-close-btn:active{background:var(--background-card)}.nav-close-btn .close-icon{align-items:center;background:var(--error-color);border-radius:6px;display:flex;font-size:1.25rem;height:32px;justify-content:center;transition:all var(--transition-base);width:32px}.nav-close-btn:hover .close-icon{background:#dc2626;transform:scale(1.05)}.nav-links li{border-bottom:1px solid var(--border-color);width:100%}.nav-links li:last-of-type{border-bottom:none}.nav-links li a,.nav-links li button{border:none;border-left:3px solid #0000;border-radius:0;font-size:1rem;font-weight:500;justify-content:flex-start;padding:1.125rem 1.5rem;transition:all var(--transition-base);width:100%}.nav-links li a:hover,.nav-links li button:hover{background:var(--background-elevated);border-left-color:var(--primary-color);padding-left:1.75rem}.nav-links li a.active{background:linear-gradient(90deg,#6b8cae26,#0000);border-left-color:var(--primary-color);color:var(--primary-color);font-weight:600}.nav-profile{background:var(--background-elevated);border-bottom:2px solid var(--border-color);border-top:2px solid var(--border-color);gap:1rem;margin:0;padding:1.5rem}.nav-profile,.nav-profile a{align-items:center;display:flex;flex-direction:column}.nav-profile a{border:none!important;gap:.75rem;padding:0!important}.nav-profile img{border:3px solid var(--primary-color);box-shadow:0 4px 12px #6b8cae4d;height:72px;width:72px}.nav-profile .profile-name{color:var(--text-primary);font-size:.9375rem;font-weight:600;text-align:center}.btn-logout{align-items:center;background-color:var(--error-color)!important;border:2px solid var(--error-color);border-radius:var(--radius-sm);box-shadow:0 2px 8px #ef44444d;color:#fff!important;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin:1.5rem;padding:1rem 1.5rem;transition:all var(--transition-base);width:calc(100% - 3rem)}.btn-logout:hover{background-color:#dc2626!important;border-color:#dc2626;box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}.btn-logout:active{box-shadow:0 2px 4px #ef44444d;transform:translateY(0)}body.menu-open{overflow:hidden;position:fixed;width:100%}}@media (hover:none){.nav-links li a:hover{background:none;color:var(--text-secondary)}.nav-links li a.active:hover{background:var(--primary-color);color:var(--text-primary)}}.login-container{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 120px);padding:1.5rem;position:relative}@media (max-width:768px){.login-container{min-height:calc(100vh - 80px);padding:4rem 1rem 1rem}}.login-box{animation:fadeIn var(--transition-slow) ease-out;background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-width:420px;padding:2.5rem;text-align:center;width:100%}@media (max-width:768px){.login-box{border-radius:var(--radius-md);padding:2rem 1.5rem}}.login-logo{margin-bottom:2rem;transition:transform var(--transition-base);width:140px}.login-logo:hover{transform:scale(1.05)}@media (max-width:768px){.login-logo{margin-bottom:1.5rem;width:120px}}h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;letter-spacing:-.01em;margin-bottom:2rem}@media (max-width:768px){h2{font-size:1.5rem;margin-bottom:1.5rem}}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form input{background-color:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1rem;min-height:48px;padding:1rem 1.25rem;transition:all var(--transition-base);width:100%}.login-form input:focus{background-color:var(--background-card);border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.login-form input::placeholder{color:var(--text-muted)}@media (max-width:768px){.login-form input{font-size:16px;padding:.875rem 1rem}}.btn-login{background-color:var(--primary-color);border:none;border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;min-height:48px;padding:1rem 1.5rem;transition:all var(--transition-base);width:100%}.btn-login:hover{background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-login:active{transform:translateY(0)}.btn-login:disabled{cursor:not-allowed;opacity:.5;transform:none}.error-message{border-left:3px solid var(--error-color);padding:.75rem 1rem;text-align:left}.register{color:var(--text-secondary);margin-top:1.5rem}.register a{color:var(--primary-color);font-size:.9375rem;font-weight:600;text-decoration:none;transition:color var(--transition-base)}.register a:hover{color:var(--primary-hover);text-decoration:underline}.forgot-password{font-size:.875rem;margin-bottom:.5rem;margin-top:-.5rem;text-align:right}.forgot-password a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color var(--transition-base)}.forgot-password a:hover{color:var(--primary-hover);text-decoration:underline}.login-loading{align-items:center;color:var(--text-secondary);display:flex;gap:.5rem;justify-content:center}.success-message{background:#10b9811a;border-left:3px solid var(--success-color);border-radius:var(--radius-sm);color:var(--success-color);font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem;text-align:left}.form-group-with-icon{position:relative}.form-group-with-icon input{padding-left:3rem}.form-icon{color:var(--text-muted);left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.login-divider{align-items:center;color:var(--text-muted);display:flex;font-size:.875rem;margin:1.5rem 0}.login-divider:after,.login-divider:before{border-bottom:1px solid var(--border-color);content:"";flex:1 1}.login-divider:before{margin-right:1rem}.login-divider:after{margin-left:1rem}@media (max-width:480px){.login-box{padding:1.5rem 1.25rem}h2{font-size:1.375rem}.login-form{gap:1rem}}.login-form{animation:slideUp .4s ease-out .1s both}.register-container{align-items:center;box-sizing:border-box;display:flex;justify-content:center;min-height:calc(100vh - 120px);padding:1.5rem;position:relative;width:100%}@media (max-width:768px){.register-container{min-height:calc(100vh - 80px);padding:4rem .75rem 1rem}}.register-box{box-sizing:border-box;max-width:900px;width:100%}.enhanced-register-form,.register-form{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);box-sizing:border-box;max-width:100%;padding:2.5rem;width:100%}@media (max-width:768px){.enhanced-register-form,.register-form{border-radius:var(--radius-md);padding:1.5rem 1rem}}.register-form__title{color:var(--primary-color);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:1.5rem;text-align:center}.register-form__wrapper{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}@media (max-width:768px){.register-form__wrapper{gap:1.25rem;grid-template-columns:1fr}}.register-form__card,.register-form__company_info,.register-form__personal_info{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;padding:1.5rem;width:100%}@media (max-width:768px){.register-form__card,.register-form__company_info,.register-form__personal_info{padding:1.25rem 1rem}}.register-form__card h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1.25rem;text-align:center}.register-form__field{box-sizing:border-box;display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;width:100%}.register-form__field:last-child{margin-bottom:0}.register-form__field label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.register-form__field input{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:1rem;min-height:48px;padding:.875rem 1rem;transition:all var(--transition-base);width:100%}@media (max-width:768px){.register-form__field input{font-size:16px;padding:.875rem .75rem}}.register-form__field input:focus{background:var(--background-elevated);border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.register-form__field input::placeholder{color:var(--text-muted)}.enhanced-register-checkbox,.register-form__checkbox{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;margin:1.5rem 0;padding:1.25rem;width:100%}@media (max-width:768px){.enhanced-register-checkbox,.register-form__checkbox{margin:1.25rem 0;padding:1rem}}.enhanced-register-checkbox label,.register-form__checkbox label{align-items:flex-start;box-sizing:border-box;color:var(--text-secondary);cursor:pointer;display:flex;gap:.75rem;line-height:1.6;width:100%}.enhanced-register-checkbox input[type=checkbox],.register-form__checkbox input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:.25rem;min-height:20px;min-width:20px}.enhanced-register-checkbox a,.register-form__checkbox a{color:var(--primary-color);font-weight:600;text-decoration:underline;word-break:break-word}.enhanced-register-checkbox a:hover,.register-form__checkbox a:hover{color:var(--primary-hover)}.register-form__actions{box-sizing:border-box;display:flex;justify-content:center;margin-top:1.5rem;width:100%}.register-form__actions button{background:var(--primary-color);border:none;border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;max-width:300px;padding:1rem 2rem;transition:all var(--transition-base);width:100%}@media (max-width:768px){.register-form__actions button{font-size:1.0625rem;max-width:100%}}.register-form__actions button:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.register-form__actions button:active{transform:translateY(0)}.register-form__actions button:disabled{cursor:not-allowed;opacity:.6}.error-message{font-size:.875rem;font-weight:500;margin-top:.25rem}.input-error{background:#ef44440d!important;border-color:#ef4444!important}.input-error:focus{border-color:#ef4444!important;box-shadow:0 0 0 3px #ef44441a!important}.login-logo{display:block;height:auto;margin:0 auto 1.5rem;max-width:100%;width:180px}@media (max-width:768px){.login-logo{margin-bottom:1.25rem;width:150px}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.enhanced-register-form,.register-form{animation:slideUp .4s ease-out}.info-card{padding:var(--space-5)}.info-card:hover{box-shadow:var(--shadow-sm)}.info-card h3{font-size:var(--text-lg);margin:0 0 var(--space-4) 0}.info-grid{grid-gap:var(--space-5);gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:var(--space-6)}.info-row{grid-gap:var(--space-3);align-items:start;gap:var(--space-3);grid-template-columns:140px 1fr}.info-row label{padding-top:.125rem}.info-row .value{color:var(--text-primary);font-size:var(--text-base);word-break:break-word}.info-row input,.info-row select,.info-row textarea{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-2) var(--space-3);transition:all var(--transition-base);width:100%}.info-row input:focus,.info-row select:focus,.info-row textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.section-card{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:var(--space-6);padding:var(--space-6)}.section-card h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--space-5) 0;padding-bottom:var(--space-3)}.mini-card{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:inherit;display:block;padding:var(--space-4);text-decoration:none;transition:all var(--transition-base)}.mini-card:hover{background:var(--background-card);border-color:var(--primary-color);transform:translateX(4px)}.mini-card h4{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);margin:0 0 var(--space-2) 0}.mini-card p{color:var(--text-secondary);font-size:var(--text-sm);margin:0}.document-card{background:var(--background-elevated);border-radius:var(--radius-sm);gap:var(--space-3)}.document-card:hover{box-shadow:var(--shadow-sm)}.document-header{align-items:center;gap:var(--space-3)}.document-header h4{font-weight:var(--font-semibold);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-info{display:flex;flex-direction:column;gap:var(--space-2)}.document-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-expiry{color:var(--text-secondary)}.documents-grid,.items-grid,.projects-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}@media (max-width:1024px){.info-grid{grid-template-columns:1fr}}@media (max-width:768px){.section-card{padding:var(--space-4)}.info-row{gap:var(--space-2)}.documents-grid,.info-row,.items-grid,.projects-grid{grid-template-columns:1fr}}@media (max-width:480px){.document-card,.info-card,.mini-card,.section-card{padding:var(--space-3)}}.form-container{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);margin:0 auto;max-width:600px;padding:var(--space-6)}.form-section{margin-bottom:var(--space-6)}.form-section:last-child{margin-bottom:0}.form-section h3{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-3)}.form-group{margin-bottom:var(--space-4)}.form-group label{font-size:var(--text-sm);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.form-group label.required:after{color:var(--error-color);content:" *"}.form-help-text{color:var(--text-muted);display:block;font-size:var(--text-xs);margin-top:var(--space-1)}.form-input,.form-select,.form-textarea,input[type=date],input[type=datetime-local],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=time],input[type=url],select,textarea{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus,input:focus,select:focus,textarea:focus{background:var(--background-card);border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.form-input:disabled,.form-select:disabled,.form-textarea:disabled,input:disabled,select:disabled,textarea:disabled{background:var(--background-elevated);cursor:not-allowed;opacity:.6}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--error-color)}.form-input.success,.form-select.success,.form-textarea.success{border-color:var(--success-color)}.form-textarea,textarea{min-height:100px;resize:vertical}.form-select,select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%236B8CAE' d='M8 11 3 6h10z'/%3E%3C/svg%3E");background-position:right var(--space-3) center;background-repeat:no-repeat;cursor:pointer;padding-right:var(--space-10)}.form-checkbox,.form-radio{align-items:center;display:flex;gap:var(--space-2);margin-bottom:var(--space-3)}.form-checkbox input[type=checkbox],.form-radio input[type=radio]{cursor:pointer;height:18px;margin:0;width:18px}.form-checkbox label,.form-radio label{cursor:pointer;font-weight:var(--font-normal);margin:0;-webkit-user-select:none;user-select:none}.form-file{position:relative}.form-file input[type=file]{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.form-file-label{align-items:center;background:var(--background-elevated);border:2px dashed var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);padding:var(--space-3) var(--space-5);transition:all var(--transition-base)}.form-file-label:hover{background:var(--background-card);border-color:var(--primary-color)}.form-file-name{color:var(--text-secondary);font-size:var(--text-sm);margin-top:var(--space-2)}.input-group{align-items:stretch;display:flex;gap:var(--space-2)}.input-group .form-input,.input-group input{flex:1 1}.input-group-append,.input-group-prepend{align-items:center;background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);display:flex;font-size:var(--text-sm);padding:var(--space-3) var(--space-4);white-space:nowrap}.form-row{grid-gap:var(--space-4);gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--space-4)}.form-error{background:#ef44441a;border-left:3px solid var(--error-color);color:var(--error-color)}.form-error,.form-success{border-radius:var(--radius-sm);display:block;font-size:var(--text-sm);font-weight:var(--font-semibold);margin-top:var(--space-2);padding:var(--space-2) var(--space-3)}.form-success{background:#10b9811a;border-left:3px solid var(--success-color);color:var(--success-color)}.form-actions{border-top:1px solid var(--border-color);gap:var(--space-3);margin-top:var(--space-6);padding-top:var(--space-5)}.form-actions.centered{justify-content:center}.form-actions.left{justify-content:flex-start}@media (max-width:768px){.form-container{padding:var(--space-4)}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}.input-group{flex-direction:column}}@media (max-width:480px){.form-container{padding:var(--space-3)}.form-group label{font-size:var(--text-xs)}.form-input,.form-select,.form-textarea,input,select,textarea{font-size:var(--text-sm);padding:var(--space-2) var(--space-3)}}.profile-detail-modern{animation:fadeIn .3s ease-in;margin:0 auto;max-width:1400px;padding:var(--space-6)}.profile-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-5)}.profile-header-main{align-items:center;display:flex;gap:var(--space-5)}.profile-avatar{border:3px solid var(--border-color);border-radius:50%;cursor:pointer;flex-shrink:0;height:120px;overflow:hidden;position:relative;transition:all var(--transition-base);width:120px}.profile-avatar:hover{border-color:var(--primary-color);box-shadow:0 0 0 4px #6b8cae33}.profile-avatar-img{height:100%;object-fit:cover;width:100%}.profile-avatar-placeholder{align-items:center;background:var(--background-elevated);color:var(--text-secondary);display:flex;font-size:4rem;height:100%;justify-content:center;width:100%}.avatar-upload-overlay{background:#000000b3;color:#fff;font-size:var(--text-xs);padding:var(--space-2);text-align:center}.avatar-upload-input,.avatar-upload-overlay{bottom:0;cursor:pointer;left:0;position:absolute;right:0}.avatar-upload-input{height:30px;opacity:0}.avatar-upload-text{pointer-events:none}.profile-header-info h2{font-size:var(--text-3xl);margin:0 0 var(--space-2) 0}.profile-header-info h2,.profile-name-input{color:var(--text-primary);font-weight:var(--font-bold)}.profile-name-input{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-2xl);max-width:400px;padding:var(--space-2) var(--space-3)}.profile-name-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.profile-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.profile-role{background:#6b8cae26;color:var(--primary-color)}.profile-role,.profile-status{align-items:center;border-radius:12px;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);padding:.375rem .875rem}.profile-status.active{background:#10b98126;color:var(--success-color)}.profile-status.inactive{background:#ef444426;color:var(--error-color)}.upload-indicator{background:#10b9811a;border-radius:var(--radius-sm);color:var(--success-color);font-size:var(--text-sm);margin-top:var(--space-2);padding:var(--space-2) var(--space-3)}.profile-header-actions{display:flex;gap:var(--space-3)}.btn-delete-small{background:none;font-size:1.25rem;padding:var(--space-1);transition:transform var(--transition-base)}.btn-delete-small:hover{transform:scale(1.2)}.btn-icon{background:none;border:none;cursor:pointer;padding:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}@media (max-width:1024px){.profile-detail-modern{padding:var(--space-5)}.info-grid{grid-template-columns:1fr}}@media (max-width:768px){.profile-detail-modern{padding:var(--space-4)}.profile-header{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.profile-header-main{align-items:center;flex-direction:column;text-align:center;width:100%}.profile-header-info{width:100%}.profile-header-info h2{font-size:var(--text-2xl)}.profile-meta{justify-content:center}.profile-header-actions{flex-direction:column;width:100%}.profile-header-actions .btn{justify-content:center;width:100%}.desktop-tabs{display:none!important}.mobile-tabs{display:block}.info-row{gap:var(--space-2)}.documents-grid,.info-row{grid-template-columns:1fr}}@media (max-width:480px){.profile-detail-modern{padding:var(--space-3)}.profile-avatar{height:100px;width:100px}.profile-header-info h2{font-size:var(--text-xl)}.profile-meta{gap:var(--space-2)}.tab{flex-direction:column;font-size:var(--text-sm);gap:0;line-height:1.3;padding:var(--space-3) var(--space-1)}.tab-count{font-size:.65rem;margin-top:2px}}.back-button{align-items:center;background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;gap:.75rem;letter-spacing:.05em;margin-bottom:1.5rem;padding:.875rem 1.5rem;text-transform:uppercase;transition:all var(--transition-base)}.back-button:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.back-button:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.back-button-arrow{font-size:1.5rem;font-weight:700;line-height:1;transition:transform var(--transition-base)}.back-button:hover .back-button-arrow{transform:translateX(-4px)}.back-button-text{line-height:1.5}@media (max-width:768px){.back-button{font-size:1.0625rem;justify-content:center;margin-bottom:1.25rem;padding:1rem 1.25rem;position:static;width:100%}.back-button-arrow{font-size:1.25rem}}.custom-loader-overlay{background:#23252bd9;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:9999}.custom-loader-content,.custom-loader-overlay{align-items:center;display:flex;flex-direction:column;justify-content:center}.custom-loader-content{gap:2rem}.custom-loader-logo{animation:spin 1.2s linear infinite;filter:drop-shadow(0 2px 12px #23252b88);height:90px;width:90px}.custom-loader-message{color:#fff;font-size:1.25rem;font-weight:500;margin-top:.5rem;text-align:center;text-shadow:0 2px 8px #23252b99}.custom-loader-content.enhanced-loader{background:#282c34eb;border-radius:1.5rem;box-shadow:0 8px 32px #23252b55,0 0 0 4px #23252b22;gap:2.5rem;min-height:220px;min-width:260px;padding:2.5rem 2.5rem 2rem;position:relative}.enhanced-spinner{align-items:center;display:flex;justify-content:center;margin-bottom:.5rem;position:relative}.enhanced-logo{filter:drop-shadow(0 2px 18px #00cfff88) drop-shadow(0 0 8px #fff2);z-index:2}.spinner-ring{animation:ring-spin 1.1s cubic-bezier(.6,.2,.4,.8) infinite;border-bottom:6px solid #00cfff33;border-radius:50%;border-top:6px solid #00cfff33;border-color:#00cfff #00cfff33 #fff0;border-style:solid;border-width:6px;box-shadow:0 0 24px #00cfff44;height:110px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:110px;z-index:1}@keyframes ring-spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.enhanced-message{color:#e0f7fa;font-size:1.3rem;font-weight:600;letter-spacing:.01em;text-shadow:0 2px 12px #00cfff55,0 1px 2px #23252b99}.construction-gear-spinner{margin-bottom:.5rem;min-height:120px}.construction-gear-spinner,.gear{align-items:center;display:flex;justify-content:center}.gear{animation:gear-spin 1.2s linear infinite;background:#f9a825;border-radius:50%;box-shadow:0 0 24px #f9a82555,0 2px 12px #23252b88;height:90px;position:relative;width:90px}.gear-inner{background:#23252b;border-radius:50%;box-shadow:0 0 0 6px #fff3,0 2px 8px #23252b99;height:38px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:38px}.gear-tooth{background:#fbc02d;border-radius:3px;box-shadow:0 2px 6px #23252b44;height:10px;position:absolute;width:18px}.gear-tooth.tooth-0{left:36px;top:-6px;transform:rotate(0deg)}.gear-tooth.tooth-1{left:68px;top:8px;transform:rotate(45deg)}.gear-tooth.tooth-2{left:80px;top:36px;transform:rotate(90deg)}.gear-tooth.tooth-3{left:68px;top:68px;transform:rotate(135deg)}.gear-tooth.tooth-4{left:36px;top:80px;transform:rotate(180deg)}.gear-tooth.tooth-5{left:8px;top:68px;transform:rotate(225deg)}.gear-tooth.tooth-6{left:-6px;top:36px;transform:rotate(270deg)}.gear-tooth.tooth-7{left:8px;top:8px;transform:rotate(315deg)}@keyframes gear-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.hammer-nail-loader{align-items:center;display:flex;justify-content:center;margin-bottom:.5rem;min-height:100px}.hammer-handle,.hammer-head{animation:hammer-swing 1s cubic-bezier(.7,.1,.3,.9) infinite;transform-origin:66px 38px}@keyframes hammer-swing{0%{transform:rotate(-25deg)}15%{transform:rotate(-25deg)}30%{transform:rotate(0deg)}45%{transform:rotate(-10deg)}60%{transform:rotate(0deg)}to{transform:rotate(-25deg)}}@media (max-width:600px){.custom-loader-logo{height:60px;width:60px}.custom-loader-message{font-size:1.05rem}.enhanced-loader{min-height:120px;min-width:160px;padding:1.2rem .5rem 1rem}.spinner-ring{border-width:4px;height:70px;width:70px}}.no-data-construction{flex-direction:column;min-height:220px;padding:36px}.no-data-construction,.no-data-construction__icon{align-items:center;display:flex;justify-content:center}.no-data-construction__icon{background:#2b3a49;border-radius:16px;box-shadow:0 2px 12px #23252b21;height:120px;margin-bottom:18px;width:120px}.no-data-construction__icon-text{color:#7495b4;font-size:80px;font-weight:700;line-height:1;-webkit-user-select:none;user-select:none}.no-data-construction__message{align-items:center;color:#7495b4;display:flex;font-size:22px;font-weight:600;justify-content:center;letter-spacing:.01em;line-height:1.4;margin:0 auto;max-width:420px;text-align:center}@media (max-width:768px){.no-data-construction{min-height:180px;padding:24px}.no-data-construction__icon{height:90px;margin-bottom:14px;width:90px}.no-data-construction__icon-text{font-size:60px}.no-data-construction__message{font-size:18px;max-width:100%}}.ai-document-upload{background:var(--background-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:2rem auto;max-width:800px;padding:2rem}.upload-header{margin-bottom:2rem;text-align:center}.upload-header h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:.5rem}.upload-subtitle{color:var(--text-secondary);font-size:.9375rem}.upload-section{margin-bottom:2rem}.upload-label{cursor:pointer;display:block;transition:all .3s ease}.upload-placeholder{background:var(--background-elevated);border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:3rem 2rem;text-align:center;transition:all .3s ease}.upload-placeholder:hover{background:#6b8cae0d;border-color:var(--primary-color)}.upload-icon{font-size:4rem;margin-bottom:1rem}.upload-placeholder p{color:var(--text-primary);margin:.5rem 0}.upload-hint{color:var(--text-secondary);font-size:.875rem;font-style:italic}.file-input{display:none}.preview-container{border-radius:var(--radius-md);max-width:100%;overflow:hidden;position:relative}.document-preview{display:block;height:auto;max-height:500px;object-fit:contain;width:100%}.change-file-overlay{align-items:center;background:#000000b3;bottom:0;color:#fff;display:flex;font-weight:600;justify-content:center;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s ease}.preview-container:hover .change-file-overlay{opacity:1}.pdf-preview{align-items:center;background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;justify-content:center;min-height:200px;padding:3rem 2rem}.pdf-icon{font-size:4rem;margin-bottom:1rem}.pdf-name{color:var(--text-primary);font-weight:600;margin:.5rem 0;text-align:center;word-break:break-word}.pdf-hint{margin:0}.validation-progress{background:var(--background-elevated);border-radius:var(--radius-md);margin-bottom:2rem;padding:2rem;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);height:50px;margin:0 auto 1rem;width:50px}@keyframes spin{to{transform:rotate(1turn)}}.spinner-small{animation:spin .6s linear infinite;border:2px solid #fff;border-radius:50%;border-top-color:#0000;display:inline-block;height:16px;margin-right:.5rem;width:16px}.progress-detail{color:var(--text-secondary);font-size:.875rem;margin-top:.5rem}.validation-results{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:2rem;padding:1.5rem}.result-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.result-header h4{color:var(--text-primary);margin:0}.confidence-badge{font-weight:600;padding:.375rem .875rem}.confidence-high{background-color:#10b981}.confidence-medium{background-color:#f59e0b}.confidence-low{background-color:#6b7280}.confidence-badge{border-radius:var(--radius-sm);color:#fff;font-size:.875rem;font-weight:700;padding:.5rem 1rem}.result-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1.5rem}.result-item{display:flex;flex-direction:column;gap:.25rem}.result-label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.result-value{color:var(--text-primary);font-size:1rem;font-weight:500}.status-badge{color:#fff}.suggestions-section{margin-top:1.5rem}.suggestions-section h5{color:var(--text-primary);font-size:1rem;margin:0 0 1rem}.suggestion{align-items:flex-start;border-radius:var(--radius-sm);display:flex;gap:.75rem;margin-bottom:.75rem;padding:1rem}.suggestion.error{background:#ef44441a;border-left:4px solid #ef4444}.suggestion.warning{background:#f59e0b1a;border-left:4px solid #f59e0b}.suggestion.success{background:#10b9811a;border-left:4px solid #10b981}.suggestion-icon{flex-shrink:0;font-size:1.25rem}.suggestion-text{color:var(--text-primary);flex:1 1;line-height:1.5}.extracted-text{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1rem}.extracted-text summary{border-radius:var(--radius-sm);color:var(--primary-color);cursor:pointer;font-weight:600;padding:.5rem;transition:background .2s ease}.extracted-text summary:hover{background:#6b8cae1a}.text-preview{word-wrap:break-word;background:var(--background-card);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8125rem;line-height:1.6;margin-top:.5rem;max-height:200px;overflow-y:auto;padding:1rem;white-space:pre-wrap}.btn-upload-final{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,#5a8db8 100%);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:1rem;transition:all .3s ease;width:100%}.btn-upload-final:hover:not(:disabled){background:linear-gradient(135deg,#5a8db8 0,var(--primary-color) 100%);box-shadow:0 4px 12px #6b8cae4d;transform:translateY(-2px)}.btn-upload-final:disabled{background:#6b7280;cursor:not-allowed;opacity:.6}.upload-blocked-message{background:#ef44441a;border:1px solid #ef4444;border-radius:var(--radius-md);color:#dc2626;margin-top:1rem}.upload-blocked-message,.warning-message{font-weight:600;padding:1rem;text-align:center}.warning-message{background:#f59e0b1a;border:1px solid #f59e0b;border-radius:var(--radius-md);color:#d97706;margin-bottom:1rem}.pdf-manual-input{background:#3b82f60d;border:1px solid #3b82f633;border-radius:var(--radius-md);margin-top:1.5rem;padding:1.5rem}.pdf-manual-input h5{color:var(--text-primary);font-size:1rem;margin:0 0 .5rem}.pdf-hint{color:var(--text-secondary);font-size:.875rem;font-style:italic;margin:0 0 1rem}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-label .required{color:#ef4444;margin-left:.25rem}.form-input,.form-select{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9375rem;padding:.75rem;transition:all .2s ease;width:100%}.form-input:focus,.form-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.form-input-inline,.form-select option,.form-select-inline{background:var(--background-card);color:var(--text-primary)}.form-input-inline,.form-select-inline{border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:1rem;font-weight:500;min-width:150px;padding:.5rem .75rem;transition:all .2s ease}.form-input-inline:hover,.form-select-inline:hover{background:var(--background-elevated);border-color:var(--primary-color)}.form-input-inline:focus,.form-select-inline:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.form-select-inline option{background:var(--background-card);color:var(--text-primary)}@media (max-width:768px){.ai-document-upload{margin:1rem;padding:1.25rem}.upload-header h3{font-size:1.25rem}.upload-placeholder{padding:2rem 1rem}.upload-icon{font-size:3rem}.result-grid{grid-template-columns:1fr}.result-header{align-items:flex-start;flex-direction:column;gap:1rem}}.modal-overlay{align-items:flex-start;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#0009;box-sizing:border-box;height:100vh;overflow-y:auto;padding:2rem 1rem;width:100vw}.modal-content{animation:fadeIn .2s ease-in-out;background-color:var(--background-card);border-radius:var(--radius-md);box-sizing:border-box;display:flex;flex-direction:column;margin:auto;max-width:600px;padding:0;width:100%}@media (max-width:768px){.modal-overlay{align-items:flex-start;padding:0}.modal-content{border-radius:0;max-width:100%;min-height:100vh}}.modal-header{color:var(--text-primary);flex-shrink:0}.modal-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0}.modal-close{background:var(--error-color)!important;border-radius:50%!important;color:#fff!important;flex-shrink:0;font-size:1.5rem;font-weight:700;height:40px!important;line-height:0;max-height:40px!important;max-width:40px!important;min-height:40px!important;min-width:40px!important;padding:0!important;text-align:center;transform-origin:center center;vertical-align:middle;width:40px!important}.modal-close:hover{background:#dc2626!important;transform:rotate(90deg) scale(1.1);transform-origin:center center}.modal-body{color:var(--text-secondary);flex:1 1;font-size:1rem;line-height:1.6;overflow-y:auto}.modal-footer{background-color:var(--background-card);flex-shrink:0;flex-wrap:wrap;padding:1.5rem}@media (max-width:768px){.modal-footer{flex-direction:column-reverse;gap:.75rem}}.modal-footer,.modal-form-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.modal-footer button,.modal-form-actions button{min-width:120px}@media (max-width:768px){.modal-footer,.modal-form-actions{flex-direction:column-reverse;gap:.75rem}.modal-footer button,.modal-form-actions button{min-width:auto;width:100%}}.modal-btn{border:none;border-radius:var(--radius-sm);cursor:pointer;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;letter-spacing:.05em;min-height:48px;padding:.875rem 1.5rem;text-transform:uppercase;transition:all var(--transition-base)}.modal-btn-primary{background-color:var(--primary-color)!important;color:#fff!important}.modal-btn-primary:hover{background-color:var(--primary-hover)!important;box-shadow:var(--shadow-md);transform:translateY(-2px)}.modal-btn-secondary{background-color:var(--background-elevated);border:2px solid var(--border-color);color:var(--text-primary)}.modal-btn-secondary:hover{background-color:var(--border-color);border-color:var(--text-muted);transform:translateY(-2px)}.modal-btn-danger{background-color:var(--error-color)!important;color:#fff!important}.modal-btn-danger:hover{background-color:#dc2626!important;box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width:600px){.modal-overlay{align-items:flex-start;justify-content:center;padding:8px}.modal-content{border-radius:var(--radius-sm);font-size:1rem;max-height:95vh;max-width:98vw;min-width:0;padding:1.25rem 1rem;width:100vw}.modal-header h3{font-size:1.1rem}.modal-body{font-size:1rem;margin-bottom:1.25rem}.modal-footer{flex-direction:column-reverse;gap:.75rem}.modal-btn{font-size:1rem;min-height:52px;padding:1rem;width:100%}.modal-close{font-size:1.5rem;height:36px;min-height:36px;min-width:36px;width:36px}}.image-cropper-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.image-cropper-container{animation:slideUp .3s ease;background:#23252b;background:var(--background-card,#23252b);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:16px;border-radius:var(--radius-lg,16px);box-shadow:0 25px 50px -12px #00000080;display:flex;flex-direction:column;max-height:90vh;max-width:900px;width:100%}.image-cropper-header{align-items:center;background:#2a2d35;background:var(--background-elevated,#2a2d35);border-bottom:1px solid #374151;border-bottom:1px solid var(--border-color,#374151);border-radius:16px 16px 0 0;border-radius:var(--radius-lg,16px) var(--radius-lg,16px) 0 0;display:flex;justify-content:space-between;padding:1.5rem}.image-cropper-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;font-weight:600;margin:0}.btn-cropper-close{align-items:center;background:#0000;border:none;border-radius:6px;color:#9ca3af;color:var(--text-secondary,#9ca3af);cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.btn-cropper-close:hover{background:#23252b;background:var(--background-card,#23252b);color:#fff;color:var(--text-primary,#fff)}.image-cropper-content{background:#1a1d23;background:var(--background-dark,#1a1d23);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:12px;border-radius:var(--radius-md,12px);height:500px;margin:1.5rem;overflow:hidden;position:relative}@media (min-width:768px){.image-cropper-content{height:600px}}@media (min-width:1024px){.image-cropper-content{height:700px}}.image-cropper-content .reactEasyCrop_Container{background:#000;background:var(--background-dark,#000);border-radius:12px}.image-cropper-content .reactEasyCrop_CropArea{border:2px solid #6b8cae!important;border:2px solid var(--primary-color,#6b8cae)!important}.image-cropper-controls{background:#23252b;background:var(--background-card,#23252b);display:flex;flex-direction:column;gap:1.5rem;padding:0 1.5rem}.control-group{display:flex;flex-direction:column;gap:.75rem}.control-group label{align-items:center;color:#d1d5db;color:var(--text-secondary,#d1d5db);display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.control-group svg{color:#6b8cae;color:var(--primary-color,#6b8cae)}.slider-container{align-items:center;display:flex;gap:.75rem}.slider-label{color:#9ca3af;color:var(--text-secondary,#9ca3af);font-size:1.125rem;min-width:20px;text-align:center;-webkit-user-select:none;user-select:none}.slider{-webkit-appearance:none;background:#2a2d35;background:var(--background-elevated,#2a2d35);border-radius:3px;flex:1 1;height:6px;outline:none}.slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#6b8cae;background:var(--primary-color,#6b8cae);border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-webkit-transition:all .2s ease;transition:all .2s ease;width:20px}.slider::-webkit-slider-thumb:hover{background:#5a7a9a;background:var(--primary-hover,#5a7a9a);box-shadow:0 0 0 4px #6b8cae33;transform:scale(1.1)}.slider::-moz-range-thumb{background:#6b8cae;background:var(--primary-color,#6b8cae);border:none;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:20px;-moz-transition:all .2s ease;transition:all .2s ease;width:20px}.slider::-moz-range-thumb:hover{background:#5a7a9a;background:var(--primary-hover,#5a7a9a);box-shadow:0 0 0 4px #6b8cae33;transform:scale(1.1)}.rotation-value{color:#6b8cae;color:var(--primary-color,#6b8cae);font-size:.875rem;font-weight:600;min-width:40px;text-align:right}.image-cropper-instructions{background:#2a2d35;background:var(--background-elevated,#2a2d35);border-radius:8px;border-radius:var(--radius-sm,8px);display:flex;gap:1rem;margin:0 1.5rem;padding:1rem 1.5rem}.instruction-item{align-items:center;color:#9ca3af;color:var(--text-secondary,#9ca3af);display:flex;font-size:.8125rem;gap:.5rem}.instruction-icon{font-size:1.25rem}.image-cropper-actions{background:#23252b;background:var(--background-card,#23252b);border-radius:0 0 16px 16px;border-radius:0 0 var(--radius-lg,16px) var(--radius-lg,16px);border-top:1px solid #374151;border-top:1px solid var(--border-color,#374151);display:flex;gap:.75rem;padding:1.5rem}.btn-cropper{border:none;border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.btn-cancel{background:#2a2d35;background:var(--background-elevated,#2a2d35);border:2px solid #374151;border:2px solid var(--border-color,#374151);color:#d1d5db;color:var(--text-secondary,#d1d5db)}.btn-cancel:hover{background:#23252b;background:var(--background-card,#23252b);border-color:#9ca3af;border-color:var(--text-secondary,#9ca3af)}.btn-cancel:hover,.btn-confirm{color:#fff;color:var(--text-primary,#fff)}.btn-confirm{background:#6b8cae;background:var(--primary-color,#6b8cae)}.btn-confirm:hover{background:#5a7a9a;background:var(--primary-hover,#5a7a9a);box-shadow:0 4px 12px #6b8cae66;transform:translateY(-2px)}@media (max-width:768px){.image-cropper-overlay{padding:0}.image-cropper-container{border-radius:0;height:100%;max-height:100vh}.image-cropper-header{padding:1rem}.image-cropper-header h3{font-size:1.125rem}.image-cropper-content{height:300px;margin:.75rem}.image-cropper-controls{gap:1rem;padding:0 1rem}.image-cropper-instructions{flex-direction:column;gap:.5rem;margin:0 1rem;padding:.75rem}.image-cropper-actions{gap:.5rem;padding:1rem}.btn-cropper{padding:.875rem 1rem}}@media (hover:none) and (pointer:coarse){.slider::-webkit-slider-thumb{height:24px;width:24px}.slider::-moz-range-thumb{height:24px;width:24px}.btn-cropper:active{transform:scale(.98)}}@media (max-width:768px) and (orientation:landscape){.image-cropper-content{height:250px}.image-cropper-instructions{display:none}}.filters-bar{align-items:flex-start;background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6);padding:var(--space-4)}.search-box{flex:1 1;margin:0;max-width:400px;min-width:250px;position:relative}.search-icon{color:var(--text-muted);font-size:1.125rem;left:var(--space-3)}.search-input{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-3) var(--space-10);transition:all var(--transition-base);width:100%}.search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.search-input::placeholder{color:var(--text-muted)}.clear-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.5rem;padding:var(--space-2);position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);transition:color var(--transition-base)}.clear-btn:hover{color:var(--error-color)}.filters-right{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-3)}.filter-group{gap:var(--space-1);min-width:150px}.filter-group label{font-size:var(--text-xs);font-weight:var(--font-semibold);white-space:nowrap}.filter-select{border:1px solid var(--border-color);font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.filter-select:hover{border-color:var(--text-muted)}@media (max-width:1024px){.filters-bar{align-items:stretch;flex-direction:column}.search-box{max-width:100%}.filters-right{width:100%}.filter-group{flex:1 1;min-width:0}}@media (max-width:768px){.filters-bar{gap:var(--space-3);padding:var(--space-3)}.search-box{min-width:100%}.filters-right{flex-direction:column;width:100%}.filter-group,.filter-select{width:100%}}@media (max-width:480px){.search-input{font-size:var(--text-sm);padding:var(--space-2) var(--space-8)}.filter-group label{font-size:.625rem}}.cards-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.card{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);box-sizing:border-box;color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-4);max-width:100%;overflow:hidden;padding:var(--space-5);text-decoration:none;transition:all var(--transition-base)}.card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card:active{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{align-items:flex-start;display:flex;gap:var(--space-4);min-width:0}.card-icon{align-items:center;background:#6b8cae1a;border-radius:var(--radius-md);display:flex;font-size:1.5rem;justify-content:center}.card-avatar,.card-icon{flex-shrink:0;height:48px;width:48px}.card-avatar{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:50%;overflow:hidden}.card-avatar img{height:100%;object-fit:cover;width:100%}.card-avatar-placeholder{align-items:center;background:#6b8cae1a;color:var(--text-muted);display:flex;font-size:1.5rem;height:100%;justify-content:center;width:100%}.card-info{flex:1 1;min-width:0}.card-info h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-meta{color:var(--text-secondary);flex-wrap:wrap;font-size:var(--text-sm);gap:var(--space-3)}.card-meta,.card-meta-item{align-items:center;display:flex}.card-meta-item{gap:var(--space-1)}.card-details{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:var(--space-2);padding-top:var(--space-3)}.card-detail-item{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2)}.card-detail-item strong{color:var(--text-primary);font-weight:var(--font-semibold);min-width:80px}.status-badge{font-weight:var(--font-semibold);letter-spacing:.025em;padding:.25rem .75rem}.status-active,.status-badge-active{background:#10b98126;color:var(--success-color)}.status-badge-inactive,.status-inactive{background:#ef444426;color:var(--error-color)}.status-badge-pending,.status-pending{background:#f59e0b26;color:#f59e0b}.status-archived,.status-badge-archived{background:#6b728026;color:var(--text-muted)}.status-approved,.status-badge-approved{background:#10b98126;color:var(--success-color)}.status-badge-rejected,.status-rejected{background:#ef444426;color:var(--error-color)}@media (max-width:1024px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.cards-grid{gap:var(--space-4);grid-template-columns:1fr}.card{padding:var(--space-4)}.card-meta{align-items:flex-start;flex-direction:column;gap:var(--space-2)}}@media (max-width:480px){.card{padding:var(--space-3)}.card-avatar,.card-icon{font-size:1.25rem;height:40px;width:40px}.card-info h3{font-size:var(--text-base)}}.project-detail,.projects-container{color:var(--text-primary);margin:auto;max-width:1200px;min-width:0;padding:1.25rem}@media (min-width:768px){.project-detail,.projects-container{padding:2rem}}.project-detail-container{margin:auto;max-width:1200px;min-width:0;padding:1.25rem}@media (min-width:768px){.project-detail-container{padding:2rem}}.whatsapp-button{align-items:center;background:#25d366;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:#fff;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;margin:1.5rem 0;padding:.875rem 1.5rem;text-decoration:none;transition:all var(--transition-base)}.whatsapp-button:before{content:"📱";font-size:1.5rem}.whatsapp-button:hover{background:#1fb855;box-shadow:var(--shadow-md);transform:translateY(-2px)}.whatsapp-button:active{transform:translateY(0)}@media (max-width:768px){.whatsapp-button{margin:1.25rem 0;width:100%}}.project-name-edit{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.project-name-edit label{color:var(--text-secondary);display:block;font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.project-name-input{font-size:1.5rem;padding:.75rem 1rem;transition:all var(--transition-base)}.project-name-input:focus{border-color:var(--primary-color);box-shadow:var(--shadow-md);outline:none}@media (max-width:768px){.project-name-edit{padding:1.25rem}.project-name-input{font-size:1.25rem}}.bottom-margin{margin-bottom:2rem}table td:before{display:none}.toggle-btn{background:var(--background-elevated)!important;border:2px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.75rem;transition:all var(--transition-base)}.toggle-btn:first-child{margin-bottom:1.25rem;margin-right:1.25rem}@media (max-width:768px){.toggle-btn{flex:1 1;font-size:.9375rem;padding:.875rem 1.25rem}.toggle-btn:first-child{margin-right:.75rem}}.toggle-btn.active{background:var(--primary-color)!important;border-color:var(--primary-color);box-shadow:var(--shadow-md);color:var(--text-primary)!important}.toggle-btn:hover:not(.active){background:var(--background-card)!important;border-color:var(--primary-color)}.project-info-grid.enhanced-mobile-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:1.5rem}@media (min-width:640px){.project-info-grid.enhanced-mobile-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}.project-form{display:flex;flex-direction:column;gap:1.5rem}.project-form label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.add-employee-form{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1.25rem;margin-top:1rem;padding:1.5rem}@media (max-width:768px){.add-employee-form{padding:1.25rem}}.add-employee-form label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.375rem;text-transform:uppercase}.add-employee-form input,.add-employee-form select{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:1rem;min-height:48px;padding:.875rem 1rem;transition:all var(--transition-base);width:100%}@media (max-width:768px){.add-employee-form input,.add-employee-form select{font-size:16px}}.add-employee-form input:focus,.add-employee-form select:focus{background:var(--background-card);border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.employee-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:.5rem}@media (max-width:768px){.employee-actions{flex-direction:column;gap:.75rem;margin:0 auto}}.employee-actions-inline{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}@media (max-width:768px){.employee-actions-inline{align-items:stretch;flex-direction:column;gap:.5rem;justify-content:center;width:100%}.employee-actions-inline button{width:100%}}.project-detail__documents_container,.project-detail__employees_container{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:1rem;margin-top:2rem;padding:1.5rem;transition:all var(--transition-base)}.project-detail__documents_container:hover,.project-detail__employees_container:hover{border-color:#6b8cae4d;box-shadow:var(--shadow-lg)}@media (max-width:768px){.project-detail__documents_container,.project-detail__employees_container{padding:1.25rem}}.project-detail__documents{padding:1rem 0}.project-detail__totals_container{background:linear-gradient(135deg,var(--background-card) 0,var(--background-elevated) 100%);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:2rem;margin-top:2rem;padding:2rem 1.5rem}@media (max-width:768px){.project-detail__totals_container{padding:1.5rem 1rem}}.totals-piechart-wrapper{min-height:650px}@media (max-width:768px){.totals-piechart-wrapper{min-height:550px}}.project-card{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:pointer;display:flex;flex-direction:column;padding:1.5rem;transition:all var(--transition-base)}.project-card:hover{border-color:#6b8cae4d;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.project-card:active{transform:translateY(0)}@media (max-width:768px){.project-card{padding:1.25rem}}.project-card-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.project-card-header h3{color:var(--primary-color);font-size:1.25rem;font-weight:600;margin:0}@media (max-width:768px){.project-card-header h3{font-size:1.125rem}}.archive-badge{background:var(--background-elevated);border-radius:12px;color:var(--text-muted);letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.project-card-body{flex:1 1;margin-bottom:1.25rem}.project-meta p{align-items:center;color:var(--text-secondary);display:flex;font-size:.9375rem;gap:.5rem;margin:.5rem 0}@media (max-width:768px){.project-meta p{font-size:.875rem}}.placeholder{color:var(--text-muted)}.project-actions{margin-bottom:1.5rem;margin-top:1.5rem}@media (max-width:768px){.project-actions{flex-direction:column;margin-bottom:1rem;margin-top:1rem}.project-actions a,.project-actions button{width:100%}}.project-card.archived{background:var(--background-elevated);opacity:.7}.project-card.archived:hover{opacity:.85}.projects-list{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr;margin-top:2rem}@media (min-width:640px){.projects-list{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.projects-list{gap:1.5rem;grid-template-columns:repeat(3,1fr)}}.info-card{background:linear-gradient(135deg,var(--background-card) 0,var(--background-elevated) 100%);border:2px solid var(--border-color);box-shadow:var(--shadow-md);padding:1.5rem;transition:all var(--transition-base)}.info-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-2px)}@media (max-width:768px){.info-card{padding:1.25rem}}.info-card h3{border-bottom:3px solid var(--primary-color);color:var(--primary-color);font-size:1.375rem;font-weight:700;gap:.75rem;letter-spacing:.05em;margin-bottom:1.5rem;padding-bottom:.75rem;text-transform:uppercase}.info-card h3:before{background:var(--primary-color);border-radius:4px;box-shadow:0 2px 8px #6b8cae66;content:"";display:inline-block;height:28px;width:8px}@media (max-width:768px){.info-card h3{font-size:1.125rem}.info-card h3:before{height:22px;width:6px}}.info-card h4{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.info-card p{align-items:center;background:#ffffff05;border-left:3px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--text-primary);display:flex;font-size:1.0625rem;font-weight:500;justify-content:space-between;margin:.875rem 0;padding:1rem;transition:all var(--transition-base)}.info-card p:hover{background:#ffffff0a;border-left-color:var(--primary-hover)}.info-card p:last-of-type{margin-bottom:0}.info-card p strong{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;font-weight:700;gap:.5rem;letter-spacing:.08em;min-width:160px;text-transform:uppercase}.info-card p strong:after{color:var(--primary-color);content:":";font-size:1.125rem;font-weight:900}@media (max-width:768px){.info-card p{align-items:flex-start;flex-direction:column;gap:.5rem;padding:.875rem}.info-card p strong{font-size:.8125rem;min-width:auto}}.info-card label{color:var(--primary-color);display:block;font-size:.875rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;margin-top:1rem;text-transform:uppercase}.info-card label:first-of-type{margin-top:0}.info-card input{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--text-primary);font-size:1rem;font-weight:500;margin-bottom:.75rem;padding:.875rem 1rem;transition:all var(--transition-base);width:100%}.info-card input:focus{background:var(--background-card);border-color:var(--primary-color);box-shadow:0 0 0 4px #6b8cae26;outline:none}.project-info-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr;margin-bottom:2rem}@media (min-width:768px){.project-info-grid{gap:2.5rem;grid-template-columns:repeat(2,1fr)}}.project-info-grid.full-width{grid-template-columns:1fr}.project-timesheet-summary-card{grid-gap:1.5rem;background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem;padding:1.5rem}.project-timesheet-summary-card .summary-item{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.5rem;padding:1rem}.project-timesheet-summary-card .summary-label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.project-timesheet-summary-card .summary-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.project-timesheet-status-summary{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.status-summary-count{font-weight:700;margin-left:.25rem}.timesheet-cards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}@media (max-width:768px){.timesheet-cards-grid{gap:1.25rem;grid-template-columns:1fr}}.project-timesheet-card{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;gap:1rem;padding:1.25rem;text-decoration:none;transition:all var(--transition-base)}.project-timesheet-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.project-timesheet-card:active{transform:scale(.98)}.project-timesheet-card .timesheet-card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:.75rem}.project-timesheet-card .timesheet-project{color:var(--primary-color);font-size:1.125rem;font-weight:700}.project-timesheet-card .timesheet-card-body{display:flex;flex-direction:column;gap:.75rem}.project-timesheet-card .timesheet-detail-row{align-items:center;display:flex;font-size:.9375rem;justify-content:space-between}.project-timesheet-card .detail-label{color:var(--text-secondary);font-weight:600}.project-timesheet-card .detail-value{color:var(--text-primary);font-weight:600}.project-timesheet-card .detail-value.highlight{color:var(--primary-color);font-size:1.0625rem;font-weight:700}.project-timesheet-card-actions{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding-top:1rem}.search-input-wrapper{position:relative;width:100%}.search-icon{font-size:1.25rem;left:1rem;opacity:.5;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input-wrapper .form-input{padding-left:3rem;padding-right:3rem}.clear-search-btn{align-items:center;background:var(--error-color);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:28px;justify-content:center;line-height:1;opacity:.7;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:all var(--transition-base);width:28px}.clear-search-btn:hover{box-shadow:var(--shadow-sm);opacity:1;transform:translateY(-50%) scale(1.1)}.clear-search-btn:active{transform:translateY(-50%) scale(.95)}.results-summary{align-items:center;background:var(--background-elevated);border:1px solid var(--border-color);display:flex;gap:.5rem}.project-card.card-elevated{border:2px solid var(--border-color);transition:all var(--transition-base)}.project-card.card-elevated:hover{border-color:var(--primary-color);box-shadow:var(--shadow-xl);transform:translateY(-4px)}.project-id-badge{align-items:center;background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:inline-flex;gap:.25rem;padding:.25rem .75rem}.project-meta{margin:0}.meta-item{border-bottom:1px solid var(--border-color)}.meta-item:last-of-type:not(.meta-item-dates){border-bottom:none}.meta-label{align-items:center;color:var(--text-secondary);display:flex;gap:.5rem;min-width:120px}.meta-icon{align-items:center;display:inline-flex;font-size:1.125rem;justify-content:center;width:24px}.meta-value{color:var(--text-primary);flex:1 1;font-weight:500;text-align:right}.meta-value .placeholder{font-weight:400}.meta-item-dates{background:var(--background-elevated);border-bottom:none!important;margin-top:.5rem;padding:.75rem!important}.date-badge,.meta-item-dates{border-radius:var(--radius-sm)}.date-badge{align-items:center;background:var(--background-card);border:1px solid var(--border-color);display:flex;gap:.375rem;padding:.375rem .75rem}.date-icon{font-size:1rem}.date-separator{align-items:center;color:var(--text-muted);display:inline-flex;font-size:1.25rem;justify-content:center;margin:0 .5rem}@media (max-width:768px){.date-separator{font-size:1rem;line-height:1;margin:0 .25rem}}.profit-display{background:var(--background-elevated);border:2px solid}.profit-display.profit-positive{background:#10b9810d;border-color:var(--success-color)}.profit-display.profit-negative{background:#ef44440d;border-color:var(--error-color)}.profit-display.loading{background:var(--background-elevated);border-color:var(--border-color);opacity:.6}.profit-label{align-items:center;display:flex;gap:.5rem}.profit-value{font-family:Courier New,monospace}.archive-badge{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.75rem;font-weight:600;gap:.375rem;padding:.375rem .75rem}.project-actions{display:flex;flex-wrap:wrap;gap:.75rem}.project-actions .btn{align-items:center;display:inline-flex;gap:.375rem;justify-content:center;min-width:-webkit-fit-content;min-width:fit-content}@media (max-width:640px){.project-actions{flex-direction:column}.project-actions .btn{width:100%}}.totals-grid{grid-gap:2rem;align-items:center;display:grid;gap:2rem;grid-template-columns:1fr auto 1fr}.total-item{padding:1rem;text-align:center}.total-label{align-items:center;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.05em;text-transform:uppercase}.total-value{margin:.5rem 0}.total-meta{display:block}.total-divider{background:linear-gradient(to bottom,#0000,var(--border-color) 20%,var(--border-color) 80%,#0000);height:80px;width:2px}@media (max-width:640px){.totals-grid{gap:1.5rem;grid-template-columns:1fr}.total-divider{background:linear-gradient(to right,#0000,var(--border-color) 20%,var(--border-color) 80%,#0000);height:2px;margin:0 auto;width:80%}}.text-success{color:var(--success-color)!important}.text-error{color:var(--error-color)!important}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.project-form-modal{display:flex;flex-direction:column;gap:1.5rem;padding:0}.project-form-modal .form-grid{grid-gap:1rem;display:grid;gap:1rem}.project-form-modal .form-grid-2{grid-template-columns:repeat(2,1fr)}.project-form-modal .form-item-full{grid-column:1/-1}.project-form-modal .form-group{display:flex;flex-direction:column;gap:.5rem}.project-form-modal .form-label{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.project-form-modal .form-label.required:after{color:var(--error-color);content:" *"}.project-form-modal .form-input,.project-form-modal .form-input select{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);padding:.75rem;transition:all var(--transition-base);width:100%}.project-form-modal .form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.project-form-modal .form-section{border-top:1px solid var(--border-color);padding-top:1.5rem}.project-form-modal .form-section:first-child{border-top:none;padding-top:0}.project-form-modal .form-section-title{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin-bottom:1rem}.project-form-modal .form-section-title.text-base{font-size:var(--text-base)}.project-form-modal .form-error{background:#ef44441a;border:1px solid var(--error-color);border-radius:var(--radius-sm);color:var(--error-color);font-size:var(--text-sm);padding:.75rem}.project-form-modal .form-hint{color:var(--text-secondary);font-size:var(--text-xs);margin-top:.25rem}.project-form-modal .form-actions{border-top:1px solid var(--border-color);display:flex;gap:1rem;justify-content:flex-end;padding-top:1.5rem}@media (max-width:768px){.project-form-modal .form-grid-2{grid-template-columns:1fr}.project-form-modal .form-actions{flex-direction:column-reverse}.project-form-modal .form-actions button{width:100%}.filters,.timesheetlist-toolbar{padding:1rem}.project-card-header .flex{align-items:flex-start;flex-direction:column;gap:.75rem}.archive-badge{align-self:flex-start}}.project-detail-modern{margin:0 auto;max-width:1200px;padding:1.25rem}@media (min-width:768px){.project-detail-modern{padding:2rem}}.project-header{align-items:flex-start;margin-bottom:1.5rem}.project-name-edit{flex:1 1;min-width:250px}.project-name-input{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem;width:100%}.project-detail-modern h2,.project-name-input{color:var(--text-primary);font-size:1.75rem;font-weight:700}.project-detail-modern h2{align-items:center;display:flex;gap:1rem;margin:0}.project-status-badge{border:2px solid;border-radius:8px;border-radius:var(--radius-sm,8px);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.375rem .875rem;text-transform:uppercase}.project-status-badge.active{background-color:#6b8cae1a;border-color:var(--primary-color);color:var(--primary-color)}.project-status-badge.archived{background-color:#9ca3af1a;border-color:var(--border-color);color:var(--text-muted)}.project-header-actions{display:flex;flex-wrap:wrap;gap:.75rem}.input-disabled{background-color:#2a2d35;background-color:var(--background-elevated,#2a2d35);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:#d1d5db;color:var(--text-secondary,#d1d5db);cursor:not-allowed;padding:.5rem .75rem;width:100%}.input-muted{color:#9ca3af;color:var(--text-muted,#9ca3af);font-style:italic}.project-header-actions button{border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;font-size:.875rem;font-weight:600;letter-spacing:.05em;outline:none;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease}.btn-edit-project{background-color:var(--primary-color);border:2px solid var(--primary-color);color:#fff}.btn-edit-project:hover{background-color:var(--primary-hover);border-color:var(--primary-hover);box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-save-project{background-color:#10b981;background-color:var(--success-color,#10b981);border:2px solid #10b981;border:2px solid var(--success-color,#10b981);color:#fff}.btn-save-project:hover{background-color:#059669;border-color:#059669;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.btn-cancel-project{background-color:initial;border:2px solid var(--border-color);color:var(--text-secondary)}.btn-cancel-project:hover{background-color:var(--background-elevated);border-color:var(--text-secondary)}.employee-rate-input,.employee-rate-select,.employee-role-select{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:6px;border-radius:var(--radius-sm,6px);color:var(--text-primary);padding:.25rem .5rem}.employee-rate-input{width:100px}.upload-document-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.upload-document-header h3{color:var(--text-secondary);font-size:.875rem;font-weight:700;letter-spacing:.05em;margin:0;text-transform:uppercase}.project-detail-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.project-info-card{background:var(--background-card);border:2px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md,12px);box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .2s ease}.project-info-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.project-info-card h3{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.info-row{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;padding:.75rem 0}.info-label{color:var(--text-muted);flex-shrink:0;font-size:.875rem;font-weight:500;min-width:100px}.info-value{font-size:.875rem;text-align:right}.info-value.large{font-size:1.125rem}.info-value.positive{color:#10b981;color:var(--success-color,#10b981)}.info-value.negative{color:#ef4444;color:var(--error-color,#ef4444)}.contact-person-card{background:var(--background-card);border:2px solid var(--primary-color);border-radius:12px;border-radius:var(--radius-md,12px);box-shadow:var(--shadow-sm);display:block!important;padding:1.5rem}.contact-person-card h4{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.contact-person-name{color:var(--text-primary);font-size:1.125rem;font-weight:700}.contact-person-position{color:var(--text-secondary);font-size:.875rem;font-weight:500;margin-bottom:1rem}.contact-person-legacy-note{background:#f59e0b1a;border-left:3px solid #f59e0b;border-radius:6px;border-radius:var(--radius-sm,6px);margin-top:.5rem;padding:.5rem .75rem}.contact-person-legacy-note small{color:#f59e0b;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.contact-person-details{display:flex;flex-direction:column;gap:.75rem}.contact-detail-item{align-items:center;background:var(--background-elevated);border:1px solid var(--border-color);border-radius:6px;border-radius:var(--radius-sm,6px);display:flex;font-size:.875rem;gap:.75rem;padding:.5rem}.contact-detail-item a{color:var(--primary-color);font-weight:500;text-decoration:none;transition:color .2s}.contact-detail-item a:hover{color:var(--primary-hover);text-decoration:underline}.contact-icon{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;height:24px;justify-content:center;width:24px}.financial-overview-modern{background:var(--background-card);border:2px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md,12px);box-shadow:var(--shadow-sm);margin-bottom:2rem;margin-top:2rem;padding:1.5rem}.financial-overview-modern h3{border-bottom:2px solid var(--border-color);color:var(--text-secondary);font-size:.875rem;font-weight:700;letter-spacing:.05em;margin-bottom:1.5rem;padding-bottom:.5rem;text-transform:uppercase}.financial-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}.financial-stat{background:var(--background-elevated);border-radius:8px;border-radius:var(--radius-sm,8px);padding:1.25rem 1rem;text-align:center;transition:all .2s ease}.financial-stat:hover{box-shadow:0 4px 8px #0000001a}.financial-stat-label{color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.financial-stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.financial-stat-value.profit{color:#10b981;color:var(--success-color,#10b981)}.financial-stat-value.loss{color:#ef4444;color:var(--error-color,#ef4444)}.whatsapp-button-modern{align-items:center;background:#25d366;border:2px solid #25d366;border-radius:8px;border-radius:var(--radius-sm,8px);color:#fff;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.05em;padding:.75rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:all .2s ease}.whatsapp-button-modern:hover{background:#20ba5a;border-color:#20ba5a;box-shadow:0 4px 8px #25d36633;transform:translateY(-1px)}.edit-form-grid{grid-gap:1.25rem;display:grid;gap:1.25rem}.form-group-modern{display:flex;flex-direction:column;gap:.5rem}.form-group-modern label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.form-group-modern input,.form-group-modern select{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:8px;border-radius:var(--radius-sm,8px);color:var(--text-primary);font-size:.875rem;padding:.875rem 1rem;transition:all .2s ease}.form-group-modern select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12'%3E%3Cpath fill='%236B8CAE' d='M6 9 1 4h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;background-size:12px;cursor:pointer;padding-right:2.5rem}.form-group-modern input:focus,.form-group-modern select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.form-group-modern input:disabled{background:var(--background-card);color:var(--text-muted);cursor:not-allowed;opacity:.6}.no-contact-person{color:var(--text-muted);font-size:.875rem;font-style:italic;padding:2rem;text-align:center}@media (max-width:768px){.project-detail-modern h2{align-items:flex-start;flex-direction:column;font-size:1.5rem;gap:.5rem}.project-detail-grid{gap:1rem;grid-template-columns:1fr}.financial-grid{gap:.75rem;grid-template-columns:1fr}.financial-stat{padding:1rem}.project-header-actions{width:100%}.project-header-actions button{flex:1 1;justify-content:center;min-width:0}.info-row{align-items:flex-start;flex-direction:column;gap:.25rem}.info-label{min-width:auto}.info-value{text-align:left}.contact-person-card{padding:1.25rem}}.project-detail-loading{align-items:center;display:flex;justify-content:center;min-height:400px}.employees-section{margin-top:2rem}.employees-section h2{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.employees-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin:1.5rem 0}.employee-card{background:var(--background-card);border:2px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md,12px);padding:1.25rem;transition:all .2s ease}.employee-card:hover{border-color:var(--primary-color);box-shadow:0 4px 12px #0000001a}.employee-card-header{align-items:flex-start;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.employee-name{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:.25rem}.employee-role{background:var(--background-elevated);border-radius:6px;border-radius:var(--radius-sm,6px);color:var(--text-secondary);display:inline-block;font-size:.875rem;margin-top:.25rem;padding:.25rem .75rem}.employee-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.employee-detail-row{align-items:center;display:flex;font-size:.875rem;justify-content:space-between}.employee-detail-label{color:var(--text-muted);font-weight:500}.employee-detail-value{color:var(--text-primary);font-weight:600}.employee-actions-card{display:flex;flex-wrap:wrap;gap:.5rem}.employee-actions-card button{border-radius:6px;border-radius:var(--radius-sm,6px);cursor:pointer;flex:1 1;font-size:.75rem;font-weight:600;letter-spacing:.05em;min-width:100px;outline:none;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease}.employee-actions-card .btn-edit{background:#0000;border:2px solid var(--primary-color);color:var(--primary-color)}.employee-actions-card .btn-edit:hover{background:var(--primary-color);color:#fff}.employee-actions-card .btn-delete{background:#0000;border:2px solid #ef4444;border:2px solid var(--error-color,#ef4444);color:#ef4444;color:var(--error-color,#ef4444)}.employee-actions-card .btn-delete:hover{background:#ef4444;background:var(--error-color,#ef4444);color:#fff}.add-employee-card{background:var(--background-card);border:2px dashed var(--border-color);border-radius:12px;border-radius:var(--radius-md,12px);margin-bottom:1.5rem;padding:1.5rem}.add-employee-card h3{color:var(--text-secondary);font-size:.875rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.employee-form-grid{grid-gap:1rem;display:grid;gap:1rem}.no-employees-message{background:var(--background-card);border:2px dashed var(--border-color);border-radius:12px;border-radius:var(--radius-md,12px);color:var(--text-muted);font-size:.875rem;font-style:italic;margin:1rem;padding:3rem 1rem;text-align:center}.documents-section{margin-top:2rem}.documents-section h2{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.documents-grid{grid-gap:1rem;gap:1rem}.document-card{border:2px solid var(--border-color);border-radius:12px;border-radius:var(--radius-md,12px);display:flex;flex-direction:column;padding:1.25rem;transition:all .2s ease}.document-card:hover{box-shadow:0 4px 12px #0000001a}.document-card.expired{background:#ef44440d;border-color:#ef4444;border-color:var(--error-color,#ef4444)}.document-header{border-bottom:2px solid var(--border-color);gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem}.document-icon{align-items:center;background:var(--primary-color);border-radius:6px;border-radius:var(--radius-sm,6px);color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;height:40px;justify-content:center;width:40px}.document-info{flex:1 1;min-width:0}.document-name{color:var(--text-primary);font-size:.875rem;font-weight:700;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-type{border-radius:4px;border-radius:var(--radius-sm,4px);color:var(--text-secondary);display:inline-block;font-size:.75rem;padding:.25rem .5rem}.document-expiry,.document-type{background:var(--background-elevated)}.document-expiry{align-items:center;border-radius:6px;border-radius:var(--radius-sm,6px);display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.document-expiry-label{color:var(--text-muted);font-weight:500}.document-expiry-value{color:var(--text-primary);font-weight:600}.document-expiry-value.expired{color:#ef4444;color:var(--error-color,#ef4444)}.document-expiry input[type=date]{background:var(--background-card);border:2px solid var(--border-color);border-radius:6px;border-radius:var(--radius-sm,6px);color:var(--text-primary);font-size:.875rem;padding:.5rem}.document-actions{gap:.5rem;margin-top:auto}.document-actions button{border-radius:6px;border-radius:var(--radius-sm,6px);cursor:pointer;flex:1 1;font-size:.75rem;font-weight:600;letter-spacing:.05em;min-width:80px;outline:none;padding:.625rem .75rem;text-transform:uppercase;transition:all .2s ease}.document-actions .btn-view{background:var(--primary-color);border:2px solid var(--primary-color);color:#fff}.document-actions .btn-view:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.document-actions .btn-edit-doc{background:#0000;border:2px solid var(--primary-color);color:var(--primary-color)}.document-actions .btn-edit-doc:hover{background:var(--primary-color);color:#fff}.document-actions .btn-delete-doc{background:#0000;border:2px solid #ef4444;border:2px solid var(--error-color,#ef4444);color:#ef4444;color:var(--error-color,#ef4444);min-width:40px;padding:.625rem}.document-actions .btn-delete-doc:hover{background:#ef4444;background:var(--error-color,#ef4444);color:#fff}.upload-document-card{margin-bottom:1.5rem;padding:1.5rem}.no-documents-message,.upload-document-card{background:var(--background-card);border:2px dashed var(--border-color);border-radius:12px;border-radius:var(--radius-md,12px)}.no-documents-message{color:var(--text-muted);font-size:.875rem;font-style:italic;padding:3rem 1rem;text-align:center}@media (max-width:768px){.documents-grid,.employees-grid{grid-template-columns:1fr}.employee-actions-card{flex-direction:column}.employee-actions-card button{width:100%}.document-actions{flex-direction:column}.document-actions button{width:100%}.document-header{align-items:flex-start;flex-direction:column}.document-name{white-space:normal;word-break:break-word}}.donut-chart-container{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;width:100%}.donut-chart-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.donut-chart-wrapper{align-items:center;display:flex;justify-content:center;padding:1rem 0}.donut-chart-svg{height:auto;max-width:400px;overflow:visible;width:100%}.donut-segment{transition:all .2s ease}.donut-segment:hover{filter:brightness(1.15)}.donut-center-text{fill:var(--text-secondary);font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.donut-center-value{fill:var(--text-primary);font-size:14px;font-weight:700}.donut-chart-legend{grid-gap:1rem;border-top:1px solid var(--border-color);display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem;padding-top:1.5rem}.legend-item{align-items:center;background:var(--background-elevated);border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all var(--transition-base)}.legend-item.active,.legend-item:hover{background:var(--background-card);transform:translateX(4px)}.legend-color{border:2px solid var(--background-dark);border-radius:50%;height:16px;min-width:16px;width:16px}.legend-label{display:flex;flex:1 1;flex-direction:column;gap:.25rem}.legend-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.legend-value{color:var(--text-secondary);font-size:.875rem;font-weight:500}@media (max-width:768px){.donut-chart-container{padding:1rem}.donut-chart-svg{max-width:300px}.donut-chart-legend{gap:.75rem;grid-template-columns:1fr}.donut-center-text{font-size:10px}.donut-center-value{font-size:12px}}.map-loading,.map-no-api-key{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:.875rem;height:400px;justify-content:center}.map-no-api-key{background:var(--background-elevated);border:2px dashed var(--border-color)}.map-loading{background:var(--background-card)}@media (max-width:768px){.map-loading,.map-no-api-key{font-size:.8125rem;height:300px}}.pdf-viewer-overlay{align-items:center;animation:fadeIn .2s ease-in-out;background:#000000f2;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.pdf-viewer-container{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;height:90vh;max-width:1200px;overflow:hidden;width:100%}@media (max-width:768px){.pdf-viewer-container{border-radius:0;height:100vh;max-width:100%}.pdf-viewer-overlay{padding:0}}.pdf-viewer-header{align-items:center;background:var(--background-elevated);border-bottom:2px solid var(--border-color);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem}.pdf-viewer-title{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0;max-width:calc(100% - 60px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.pdf-viewer-header{padding:.875rem 1rem}.pdf-viewer-title{font-size:1rem}}.pdf-viewer-close{align-items:center;display:flex;flex-shrink:0;font-size:2rem;height:40px;justify-content:center;line-height:1;padding:0;width:40px}.pdf-viewer-content{background:#525659;flex:1 1;overflow:hidden;position:relative}.pdf-viewer-iframe{border:none;display:block;height:100%;width:100%}.pdf-fallback{align-items:center;display:flex;flex-direction:column;gap:.75rem;height:100%;justify-content:center;padding:2rem;text-align:center}.fallback-message{color:#e5e7eb;font-size:1.125rem;font-weight:600;margin:0}.fallback-hint{color:#bfc4d1;font-size:.9375rem;margin:0}.pdf-viewer-footer{background:var(--background-elevated);border-top:2px solid var(--border-color);display:flex;flex-shrink:0;gap:.75rem;padding:1rem 1.25rem}@media (max-width:768px){.pdf-viewer-footer{gap:.5rem;padding:.875rem 1rem}}.pdf-viewer-footer .btn{flex:1 1;min-width:0}@media (max-width:768px){.pdf-viewer-footer .btn{font-size:.875rem;padding:.75rem 1rem}.doc-badge{width:100%}}.timesheet-form,.timesheet-list{margin:auto;max-width:1200px;min-width:0;padding:1.25rem}@media (min-width:768px){.timesheet-form,.timesheet-list{padding:2rem}}h1{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:2rem}.create-timesheet-wrapper{display:flex;justify-content:center;margin-bottom:1.5rem}.btn-add-timesheet{align-items:center;background:#1d5c3b;border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;display:inline-flex;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:1rem;font-weight:700;gap:.5rem;justify-content:center;letter-spacing:.05em;line-height:1.5;min-height:48px;padding:.875rem 1.5rem;text-decoration:none;text-transform:uppercase;transition:all var(--transition-base)}.btn-add-timesheet:hover{background:#28a745;box-shadow:var(--shadow-md);transform:translateY(-2px)}@media (max-width:768px){.btn-add-timesheet{font-size:1.0625rem;min-height:52px;padding:1rem 1.25rem;width:100%}}.btn-approve{background:var(--success-color)!important;color:#fff!important}.btn-approve:hover{background:#059669!important}.filters,.timesheetlist-toolbar{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;padding:1.5rem}.timesheetlist-search{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1rem;padding:.875rem 1rem;transition:all var(--transition-base);width:100%}.timesheetlist-search:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.filters-dropdowns{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (max-width:768px){.filters-dropdowns{grid-template-columns:1fr}}.filter-group label{color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase}.filter-group select{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:1rem;padding:.875rem 1rem;transition:all var(--transition-base)}.filter-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.status-badge{font-size:.75rem}.status-badge-draft{background:#f59e0b33;border:1px solid #f59e0b4d;color:#d97706;font-weight:600}.status-badge-approved_by_voorman,.status-badge-pending{background:#f59e0b26;color:var(--warning-color)}.status-badge-approved{background:#10b98126;color:var(--success-color)}.status-badge-rejected{background:#ef444426;color:var(--error-color)}.timesheet-list-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}@media (max-width:768px){.timesheet-list-grid{gap:1.25rem;grid-template-columns:1fr}}.timesheet-card{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:1rem;padding:1.25rem;transition:all var(--transition-base)}.timesheet-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.timesheet-card-header{align-items:center;flex-wrap:wrap;justify-content:space-between}.timesheet-card-title{color:var(--primary-color);font-size:1.125rem;font-weight:700}.timesheet-card-details{display:flex;flex-direction:column;gap:.75rem;padding:.75rem 0}.timesheet-card-details>div{align-items:center;display:flex;font-size:.9375rem;justify-content:space-between}.timesheet-card-details b{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.timesheet-card-details span{color:var(--text-primary);font-weight:600}.timesheet-card-actions{border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:.75rem;margin-top:auto;padding-top:1rem}.timesheet-card-actions .btn-primary,.timesheet-card-actions .btn-view{justify-content:center!important;text-align:center!important;width:100%!important}.btn-success{background:var(--primary-color)}.timesheet-card-actions .btn-primary.full-width,.timesheet-card-actions .btn-view.full-width{justify-content:center!important;text-align:center!important;width:100%!important}.timesheet-card-actions a,.timesheet-card-actions button{align-items:center;display:flex;justify-content:center;text-align:center;width:100%}.timesheet-card-actions .btn-delete,.timesheet-card-actions button.btn-delete{background:var(--error-color)!important;color:#fff!important}.timesheet-card-actions button[onClick*=confirmDelete]:hover{background:#dc2626!important}.voorman-projects-list{display:flex;flex-direction:column;gap:.75rem;list-style:none;margin:1rem 0;padding:0}.voorman-projects-list li{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-weight:600;padding:1rem}.notifications__empty{color:var(--text-secondary);font-size:1rem;padding:2rem;text-align:center}.btn-edit-draft-list{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-block;font-size:.9375rem;font-weight:700;padding:.75rem 1.25rem;text-align:center;text-decoration:none;text-transform:uppercase}.btn-edit-draf-list:hover{background:linear-gradient(135deg,#d97706,#b45309)}.btn-edit-draft-list.full-width{width:100%}.timesheet-header-info{flex:1 1;min-width:0}.timesheet-header-info h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timesheet-meta{display:flex;flex-direction:column;font-size:var(--text-sm);gap:var(--space-1)}.timesheet-meta-item{align-items:center;color:var(--text-secondary);display:flex;gap:var(--space-1)}.timesheet-meta-item strong{color:var(--text-primary);font-weight:var(--font-semibold);min-width:-webkit-fit-content;min-width:fit-content}@media (max-width:768px){.timesheet-header-info h3{font-size:var(--text-base)}.timesheet-meta{font-size:var(--text-xs)}.timesheet-meta-item{flex-wrap:wrap}}.timesheet-form{color:#fff;font-family:Segoe UI,sans-serif;margin:auto;max-width:1200px;min-width:0;padding:20px}.timesheet-form--card{margin:2.5rem auto;max-width:1200px;padding:2.5rem}.timesheet-form__title{font-size:1.8rem;font-weight:700;margin-bottom:.5rem;text-align:center}.timesheet-form__subtitle{color:#aaa;font-size:1.1rem;margin-bottom:2rem;text-align:center}.timesheet-form__nav{display:flex;justify-content:space-between;margin-bottom:20px}.timesheet-form__nav button{background-color:#7495b4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 18px}.timesheet-form__nav button:hover{background-color:#374959}.timesheet-form__project{margin-bottom:20px}.timesheet-form__project label,.timesheet-form__row label{color:#bfc4d1;display:block;font-weight:600;margin-bottom:6px}.timesheet-form__project select{background:#2c2f3b;border:2px solid #7495b4;border-radius:6px;color:#fff;font-size:1.08rem;padding:12px;transition:all .3s ease;width:100%}.timesheet-form__project select:focus{border-color:#6b8cae;box-shadow:0 0 0 3px #6b8cae1a;outline:none}.timesheet-form__project select.select-empty{animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#f59e0b14,#f59e0b08);border-color:#f59e0b}.timesheet-form__project select.select-empty:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.timesheet-form__project select option:disabled{color:#f59e0b;font-style:italic;font-weight:600}.required-indicator{color:#ef4444;font-size:1.125rem;font-weight:700;margin-left:.25rem}.project-warning{animation:slideIn .3s ease-out;background:linear-gradient(135deg,#f59e0b26,#f59e0b14);border:2px solid #f59e0b;border-radius:8px;color:#f59e0b;font-size:.9375rem;margin-top:.5rem;padding:.75rem 1rem}.project-warning strong{font-weight:700}@keyframes pulse{0%,to{box-shadow:0 0 0 0 #f59e0b66}50%{box-shadow:0 0 0 8px #f59e0b00}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.timesheet-form__grid{grid-gap:1.5rem 2.5rem;display:grid;gap:1.5rem 2.5rem;grid-template-columns:repeat(3,1fr);margin-bottom:.5rem;margin-left:auto;margin-right:auto;max-width:600px}.timesheet-form__grid-wrapper{width:100%}.timesheet-form__day{align-items:flex-start;background:#23252b;border:1px solid #374959;border-radius:.5rem;display:flex;flex-direction:column;gap:.3rem;min-width:120px;padding:.7rem .6rem}.timesheet-form__day label{align-items:center;color:#bfc4d1;display:flex;font-size:1.05rem;font-weight:600;justify-content:space-between;margin-bottom:4px}.day-name{font-weight:700}.day-date{background:#7495b41a;border-radius:4px;color:#7495b4;font-size:.875rem;font-weight:500;padding:.25rem .5rem}.timesheet-form__day input{background:#2c2f3b;border:1.5px solid #444;border-radius:6px;color:#fff;font-size:1.08rem;margin-bottom:2px;padding:12px;transition:border-color .2s,box-shadow .2s;width:100%}.timesheet-form__day input:focus{border-color:#7495b4;box-shadow:0 0 8px #7495b4aa}.timesheet-form__extra-section,.timesheet-form__material-section{margin-top:30px}.timesheet-form__section{background:#23252b;border:1px solid #2c2f3b;border-radius:.7rem;box-shadow:0 1px 6px #00000012;margin-bottom:2.5rem;padding:2rem 2rem 1.5rem}.timesheet-form__section h3{border-bottom:1px solid #374959;color:#fff;font-size:1.25rem;margin-bottom:1.2rem;padding-bottom:.5rem}.timesheet-form__row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1.2rem;margin-bottom:1.2rem}.timesheet-form__row--extra,.timesheet-form__row--material{align-items:center;background:#23252b;border:1px solid #374959;border-radius:.5rem;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;padding:1rem .8rem}.timesheet-form__row input,.timesheet-form__row select{background:#2c2f3b;border:1.5px solid #444;border-radius:6px;color:#fff;font-size:1.08rem;margin-bottom:2px;min-width:0;padding:12px;transition:border-color .2s,box-shadow .2s}.timesheet-form__row input:focus,.timesheet-form__row select:focus{border-color:#7495b4;box-shadow:0 0 8px #7495b4aa}.timesheet-form__row input[type=file]{background:none;color:#bfc4d1;padding:0}.timesheet-form__row button{background-color:#a71d2a;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px}.timesheet-form__row button:hover{background-color:#dc3545}.file-input-wrapper{display:flex;flex-direction:column;gap:.3rem}.file-selected{color:#1d5c3b;display:inline-block;font-size:.9rem;font-weight:600;margin-top:.2rem}.timesheet-form__summary{background:#2c2f3b;border:1px solid #374959;border-radius:8px;color:#ccc;font-size:1.08rem;margin-bottom:30px;margin-top:30px;padding:18px}.timesheet-form__actions{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:flex-end;margin-top:2rem}.timesheet-form__actions button{border:none;border-radius:6px;cursor:pointer;font-size:1.1rem;font-weight:600;max-width:100%;padding:16px 0;transition:background-color .3s ease;width:220px}.timesheet-form__actions button.btn-view{color:#fff}.timesheet-form__actions button.btn-save{background-color:#1d5c3b;color:#fff}.timesheet-form__actions button.btn-save:hover{background-color:#1e7e34}.timesheet-form__actions button.btn-draft{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;color:#fff;font-weight:600;transition:all .3s ease}.timesheet-form__actions button.btn-draft:hover{background:linear-gradient(135deg,#d97706,#b45309);box-shadow:0 4px 12px #f59e0b4d;transform:translateY(-2px)}.timesheet-form__actions button:disabled{background-color:#555;cursor:not-allowed}@media (max-width:1100px){.timesheet-form--card{max-width:98vw}.timesheet-form__grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.timesheet-form__grid{grid-template-columns:repeat(2,1fr)}.timesheet-form--card{padding:1.2rem .5rem 1.5rem}.timesheet-form__section{padding:.7rem .3rem}}@media (max-width:700px){.timesheet-form__grid{gap:.7rem;grid-template-columns:1fr}.timesheet-form__row{flex-direction:column;gap:.5rem}.timesheet-form__row input,.timesheet-form__row select{font-size:1rem;min-height:38px;padding:10px 8px}.timesheet-form__row--extra,.timesheet-form__row--material{padding:.5rem .4rem}.timesheet-form__actions{align-items:stretch;flex-direction:column;gap:.7rem}.timesheet-form__actions button{width:100%}}.timesheet-container{margin:auto;max-width:1200px;min-width:0;padding:1.25rem;width:100%}@media (min-width:768px){.timesheet-container{padding:2rem}}.timesheet-detail--card{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:1.5rem}@media (max-width:768px){.timesheet-detail--card{box-shadow:var(--shadow-sm);padding:1.25rem}}.timesheet-header{margin-bottom:2rem}.timesheet-header h2{color:var(--text-primary);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;margin-bottom:1.5rem;text-align:center}.timesheet-header--card{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1.5rem}@media (max-width:768px){.timesheet-header--card{padding:1.25rem}}.meta-info{grid-gap:1rem;display:grid;font-size:.9375rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:1.5rem}@media (max-width:768px){.meta-info{font-size:.875rem;gap:.75rem;grid-template-columns:1fr}}.meta-info div{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-weight:500;padding:1rem}@media (max-width:768px){.meta-info div{padding:.875rem}}.meta-info div strong{color:var(--text-secondary);display:block;font-size:.8125rem;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.meta-info--card{background:#0000;padding:0}.status-badge{border-radius:var(--radius-sm);display:inline-block;font-size:.875rem;font-weight:600;padding:.5rem 1rem;text-align:center;width:-webkit-fit-content;width:fit-content}.status-badge.approved,.status-badge.approved_by_voorman{background:#10b98126;color:var(--success-color)}.status-badge.rejected{background:#ef444426;color:var(--error-color)}.status-badge.pending{background:#f59e0b26;color:var(--warning-color)}.status-badge.draft{background:#f59e0b33;border:1px solid #f59e0b4d;color:#d97706;font-weight:600}@media (max-width:768px){.status-badge{font-size:.75rem;padding:.375rem .75rem;width:100%}}a.btn-view{display:inline-block;margin-top:1rem;padding:.875rem 1.5rem}.timesheet-section{display:block;margin-bottom:2rem;width:100%}.timesheet-section--card{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:1.5rem}@media (max-width:768px){.timesheet-section--card{padding:1.25rem}}.timesheet-info{width:100%}.timesheet-section h3{border-bottom:2px solid var(--border-color);color:var(--primary-color);font-size:1.25rem;font-weight:600;margin-bottom:1.25rem;padding-bottom:.75rem}@media (max-width:768px){.timesheet-section h3{font-size:1.125rem;margin-bottom:1rem}}.table-wrapper{-webkit-overflow-scrolling:touch;border-radius:var(--radius-sm);margin-bottom:1rem;overflow-x:auto;width:100%}.extra-work-table,.materials-table,.timesheet-table{background:var(--background-card);border:1px solid var(--border-color);border-collapse:collapse;border-radius:var(--radius-sm);margin-top:1rem;overflow:hidden;width:100%}.extra-work-table th,.materials-table th,.timesheet-table th{background:var(--background-elevated);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:600;padding:1rem .75rem;text-align:left}.extra-work-table td,.materials-table td,.timesheet-table td{border-bottom:1px solid var(--border-color);color:var(--text-secondary);padding:.875rem .75rem}.extra-work-table tr:last-child td,.materials-table tr:last-child td,.timesheet-table tr:last-child td{border-bottom:none}.extra-work-table tbody tr:hover,.materials-table tbody tr:hover,.timesheet-table tbody tr:hover{background:var(--background-elevated)}@media (max-width:768px){.extra-work-table,.materials-table{border:none;display:block}.extra-work-table thead,.materials-table thead{display:none}.extra-work-table tbody,.extra-work-table tr,.materials-table tbody,.materials-table tr{display:block;width:100%}.extra-work-table tr,.materials-table tr{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);margin-bottom:1rem;padding:1rem}.extra-work-table td,.materials-table td{border:none;display:flex;flex-direction:column;padding:.75rem 0;text-align:left}.extra-work-table td:before,.materials-table td:before{color:var(--text-secondary);content:attr(data-label);font-size:.8125rem;font-weight:600;letter-spacing:.05em;margin-bottom:.375rem;text-transform:uppercase}.extra-work-table td,.materials-table td{color:var(--text-primary)}.timesheet-table{font-size:.875rem}.timesheet-table td,.timesheet-table th{font-size:.8125rem;padding:.75rem .5rem}}.meerwerk-foto{border:2px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;max-height:120px;max-width:120px;object-fit:cover;transition:transform var(--transition-base)}.meerwerk-foto:hover{border-color:var(--primary-color);transform:scale(1.05)}@media (max-width:768px){.meerwerk-foto{max-height:100px;max-width:100px}}.timesheet-actions{border-top:2px solid var(--border-color);display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem;padding-top:1.5rem}@media (max-width:768px){.timesheet-actions{flex-direction:column;gap:.75rem}.timesheet-actions button{width:100%}}.summary-badge{align-items:center;border-radius:var(--radius-md);display:inline-flex;font-size:1.25rem;font-weight:700;justify-content:center;margin:1.5rem 0;padding:1rem 1.5rem;text-align:center}.summary-badge.positive{background:#10b98126;color:var(--success-color)}.summary-badge.negative{background:#ef444426;color:var(--error-color)}@media (max-width:768px){.summary-badge{font-size:1.125rem;padding:.875rem 1.25rem}}.btn-edit-draft{background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:var(--radius-md);color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;margin-left:.5rem;padding:.875rem 1.5rem;text-align:center;text-decoration:none}@media (max-width:768px){.btn-edit-draft{font-size:.9375rem;padding:.75rem 1.25rem}}body,html{max-width:100vw}.dashboard,.dashboard-card,.dashboard-row,.dashboard-timesheet-cards,.financial-overview-card,.timesheet-card-dashboard{box-sizing:border-box;max-width:100%}.dashboard{margin:auto;max-width:1200px;min-width:0;padding:1rem}@media (min-width:768px){.dashboard{padding:1.5rem}}h1{color:var(--text-primary);font-size:clamp(1.5rem,4vw,2rem);font-weight:800;letter-spacing:-.02em;margin-bottom:1rem;text-align:center}.summary-card-icon{border-radius:var(--radius-md);font-size:1.25rem;height:40px;width:40px}.revenue-icon{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 12px #10b9814d}.costs-icon{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.profit-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.vat-icon{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.financial-summary-grid{grid-gap:.75rem;gap:.75rem;grid-template-columns:1fr;margin-bottom:1.5rem}@media (min-width:640px){.financial-summary-grid{gap:1rem;grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.financial-summary-grid{gap:1.25rem;grid-template-columns:repeat(4,1fr)}}.summary-card{align-items:center;border-radius:var(--radius-lg);box-shadow:0 2px 8px #0000000d;padding:1.25rem}.summary-card.highlight,.summary-card.profit-positive{background:linear-gradient(135deg,#10b98114,#10b98108);border-left:6px solid #10b981}.summary-card.cost-card{border-left:6px solid #ef4444}.summary-card.vat-card{border-left:6px solid #f59e0b}.summary-card.primary-metric,.summary-card.profit-card{background:linear-gradient(135deg,#3b82f614,#3b82f608);border-left:6px solid #3b82f6}@media (min-width:1024px){.summary-card.primary-metric{grid-column:span 2}.summary-card.primary-metric .summary-card-value{font-size:2.25rem}}.summary-card:before{background:linear-gradient(90deg,#0000,#ffffff05);pointer-events:none;right:0;width:100px}.summary-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-4px)}.summary-card.highlight{background:linear-gradient(135deg,#10b98114,#10b98108);border-color:#10b981}.summary-card.vat-card{background:linear-gradient(135deg,#f59e0b14,#f59e0b08);border-color:#f59e0b}.summary-card.cost-card{background:linear-gradient(135deg,#ef444414,#ef444408);border-color:#ef4444}.summary-card.profit-card{background:linear-gradient(135deg,#3b82f614,#3b82f608);border-color:#3b82f6}.summary-card-content{display:flex;flex-direction:column;gap:.375rem;z-index:1}.summary-card-label{font-size:.8125rem;font-weight:700;letter-spacing:.075em;line-height:1.2}.summary-card-value{font-feature-settings:"tnum";font-size:1.875rem;font-variant-numeric:tabular-nums;font-weight:900;line-height:1}.summary-card-value.positive{color:#10b981;text-shadow:0 0 20px #10b98126}.summary-card-value.negative{color:#ef4444;text-shadow:0 0 20px #ef444426}.summary-card-value.vat-amount{color:#f59e0b;text-shadow:0 0 20px #f59e0b26}.summary-card-meta{margin-top:.125rem}.summary-card-breakdown,.summary-card-meta{color:var(--text-muted);font-size:.75rem;font-weight:500}.summary-card-breakdown{border-top:1px solid #0000000d;margin-top:.25rem;padding-top:.25rem}.summary-card-trend{align-items:center;border-radius:var(--radius-sm);display:inline-flex;font-size:.75rem;font-weight:700;gap:.25rem;margin-top:.5rem;padding:.25rem .5rem}.summary-card-trend.up{background:#10b9811a;color:#10b981}.summary-card-trend.up:before{content:"↑ "}.summary-card-trend.down{background:#ef44441a;color:#ef4444}.summary-card-trend.down:before{content:"↓ "}@media (max-width:640px){.summary-card{padding:1rem}.summary-card-value{font-size:1.5rem}.summary-card-label{font-size:.75rem}}.tax-insight-section{margin-bottom:1rem;padding:1rem}.tax-insight-header{border-bottom:2px solid var(--border-color);margin-bottom:1rem;padding-bottom:.75rem}.tax-insight-header h3{font-size:1.125rem}.tax-warning-badge{background:linear-gradient(135deg,#f59e0b,#d97706);font-size:.75rem;letter-spacing:.05em;padding:.25rem .625rem;text-transform:uppercase}.tax-calculation-grid{display:flex;flex-direction:column;gap:.5rem}.tax-calc-row{align-items:flex-start;border-radius:var(--radius-sm);padding:.5rem;transition:background var(--transition-fast)}.tax-calc-row:hover{background:var(--background-card)}.tax-calc-row.highlight{border:1px solid var(--primary-color);font-size:1rem;padding:.75rem}.tax-calc-row.tax-row{border:1px solid #f59e0b;padding:.75rem}.tax-calc-row.final{border:2px solid #10b981;font-size:1.0625rem;padding:.75rem}.tax-calc-label{flex:1 1;font-weight:500}.tax-calc-label small{color:var(--text-muted)}.tax-calc-value{text-align:right;white-space:nowrap}.tax-calc-value.positive{color:#10b981}.tax-calc-value.negative{color:#ef4444}.tax-calc-value.tax{color:#f59e0b}@media (max-width:640px){.tax-calc-row{flex-direction:column;gap:.5rem}.tax-calc-value{text-align:left}}.dashboard-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr}@media (min-width:768px){.dashboard-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}@media (min-width:1024px){.dashboard-grid{gap:2rem}}.dashboard-row{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:1fr;margin-bottom:1.5rem;width:100%}@media (min-width:768px){.dashboard-row{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}.dashboard-card{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);color:var(--text-primary);display:flex;flex-direction:column;margin-bottom:1rem;padding:1rem;transition:all var(--transition-base)}.dashboard-card:hover{border-color:#6b8cae4d;box-shadow:var(--shadow-lg)}@media (max-width:768px){.dashboard-card{margin-bottom:.875rem;padding:.875rem}}.dashboard-card h3{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1rem;text-align:center}.dashboard-card ul{display:flex;flex-direction:column;gap:1rem;list-style:none;margin:0;padding:0;width:100%}.dashboard-card ul li{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;display:flex;flex-direction:column;gap:.75rem;padding:1.25rem;transition:all var(--transition-base)}.dashboard-card ul li:hover{background:var(--background-card);border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-card ul li:active{transform:scale(.98)}.dashboard-card ul li .project-card-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding-bottom:.75rem}.dashboard-card ul li .project-name{color:var(--primary-color);font-size:1.125rem;font-weight:700}.dashboard-card ul li .project-details{display:flex;flex-direction:column;gap:.5rem}.dashboard-card ul li .project-detail-row{align-items:center;display:flex;font-size:.9375rem;justify-content:space-between}.dashboard-card ul li .project-detail-label{color:var(--text-secondary);font-weight:500}.dashboard-card ul li .project-detail-value{color:var(--text-primary);font-weight:600}@media (max-width:768px){.dashboard-card ul li{padding:1rem}}.dashboard-card a.btn-view{background:var(--primary-color)!important;border-radius:var(--radius-sm);color:var(--text-primary)!important;display:block;font-weight:700;letter-spacing:.05em;margin-top:1.25rem;padding:.875rem 1.5rem;text-align:center;text-decoration:none;text-transform:uppercase;transition:all var(--transition-base);width:100%}.dashboard-card a.btn-view:hover{background:var(--primary-hover)!important;box-shadow:var(--shadow-md);transform:translateY(-2px)}.dashboard-card a.btn-view:active{transform:translateY(0)}.dashboard-card table{background:var(--background-card);border-radius:var(--radius-sm);font-size:.9375rem;overflow:hidden;width:100%}@media (max-width:768px){.dashboard-card table{-webkit-overflow-scrolling:touch;display:block;font-size:.875rem;overflow-x:auto}}.dashboard-card td,.dashboard-card th{padding:.875rem .75rem;text-align:left}@media (max-width:768px){.dashboard-card td,.dashboard-card th{font-size:.8125rem;padding:.75rem .5rem}}.dashboard-card th{background:var(--background-elevated);border-bottom:2px solid var(--border-color);color:var(--text-primary);font-weight:600}.dashboard-card td{border-bottom:1px solid var(--border-color);color:var(--text-secondary)}.dashboard-card tr{transition:background var(--transition-fast)}.dashboard-card tr:hover{background:var(--background-elevated)}.profit{border-radius:var(--radius-sm);display:inline-block;font-size:1.125rem;font-weight:700;padding:.25rem .75rem}.profit.positive{background:#10b9811a;color:var(--success-color)}.profit.negative{background:#ef44441a;color:var(--error-color)}.financial-overview-card{background:linear-gradient(135deg,var(--background-card) 0,var(--background-elevated) 100%);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);color:var(--text-primary);display:flex;flex-direction:column;grid-column:1/-1;margin-bottom:2rem;padding:2rem 1.5rem;transition:all var(--transition-base);width:100%}.financial-overview-card:hover{border-color:#6b8cae66;box-shadow:var(--shadow-xl)}@media (max-width:768px){.financial-overview-card{border-radius:var(--radius-md);padding:1.5rem 1rem}}.financial-overview-card h3{color:var(--text-primary);font-size:clamp(1.5rem,3vw,2rem);font-weight:700;letter-spacing:-.01em;margin-bottom:2rem;text-align:center}.financial-overview-card h4{color:var(--text-primary);font-size:1.125rem;font-weight:600;letter-spacing:-.01em;margin-bottom:1rem}.financial-summary-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}@media (max-width:768px){.financial-summary-grid{grid-template-columns:1fr}}.summary-card{background:var(--background-card);text-align:center}.summary-card.highlight{background:linear-gradient(135deg,#6b8cae1a,#6b8cae0d);border-color:var(--primary-color)}.summary-card.primary{background:linear-gradient(135deg,#6b8cae26,#6b8cae14)}.summary-card-label{margin-bottom:.75rem}.summary-card-value{letter-spacing:-.02em}@media (max-width:768px){.summary-card-value{font-size:1.5rem}}.financial-details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}@media (max-width:768px){.financial-details-grid{grid-template-columns:1fr}}.financial-details-column{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem}.financial-overview-card .totals-overview{display:flex;flex-direction:column;gap:.75rem}.financial-overview-card .totals-row{align-items:center;background:var(--background-elevated);border:1px solid #0000;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:.75rem 1rem;transition:all var(--transition-base)}.financial-overview-card .totals-row:hover{background:var(--background-card);border-color:var(--border-color)}.financial-overview-card .totals-row.total-row{background:linear-gradient(135deg,#6b8cae1a,#6b8cae0d);border:1px solid var(--primary-color);margin-top:.5rem}.financial-overview-card .totals-label{color:var(--text-secondary);font-size:.9375rem;font-weight:500}.financial-overview-card .totals-value{color:var(--text-primary);font-size:1rem;font-weight:600}@media (max-width:768px){.financial-overview-card .totals-value{font-size:.9375rem}}.totals-piechart-wrapper{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:1.5rem;min-height:400px;padding:1.5rem;position:relative;width:100%}.totals-piechart-wrapper h4{margin-bottom:1rem;text-align:center}.totals-piechart-wrapper .recharts-wrapper{margin:0 auto}.totals-piechart-wrapper .recharts-legend-wrapper{border-top:2px solid var(--border-color);bottom:auto!important;margin-top:3rem!important;padding-top:2rem!important;position:relative!important}@media (max-width:768px){.totals-piechart-wrapper{min-height:350px;padding:1rem}.totals-piechart-wrapper .recharts-legend-wrapper{margin-top:2rem!important;padding-top:1.5rem!important}}.chart-container{align-items:center;display:flex;height:300px;justify-content:center;margin-top:1rem;width:100%}@media (max-width:768px){.chart-container{height:250px}}.dashboard-timesheet-cards{display:flex;flex-direction:column;gap:1.25rem;width:100%}.timesheet-card-dashboard{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;padding:1.25rem;transition:all var(--transition-base)}.timesheet-card-dashboard:hover{background:var(--background-card);border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.timesheet-card-dashboard:active{transform:scale(.98)}.timesheet-card-header{border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem}.timesheet-project{color:var(--primary-color);font-size:1.125rem;font-weight:700}.timesheet-week{color:var(--text-secondary);font-size:.9375rem;font-weight:500}.timesheet-card-body{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.timesheet-status{display:inline-block}.timesheet-hours{background:var(--background-card);border-radius:var(--radius-sm);color:var(--text-primary);font-size:.9375rem;font-weight:600;padding:.375rem .75rem}.status-badge-dashboard{border-radius:12px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.375rem .75rem;text-transform:uppercase}.status-badge-dashboard.status-approved{background:#10b98126;color:var(--success-color)}.status-badge-dashboard.status-approved_by_voorman,.status-badge-dashboard.status-pending{background:#f59e0b26;color:var(--warning-color)}.status-badge-dashboard.status-rejected{background:#ef444426;color:var(--error-color)}.invalid-users-card{background:var(--background-card);padding:2rem 1.5rem}.no-issues-state{background:linear-gradient(135deg,#10b9810d,#10b98105);border:2px dashed #10b9814d;border-radius:var(--radius-md);padding:3rem 2rem;text-align:center}.success-icon{align-items:center;background:#10b9811a;border-radius:50%;color:var(--success-color);display:flex;font-size:3rem;height:80px;justify-content:center;margin:0 auto 1.5rem;width:80px}.success-message{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.success-submessage{color:var(--text-secondary);font-size:1rem}.doc-summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}@media (max-width:768px){.doc-summary-grid{grid-template-columns:1fr}}.doc-summary-card{align-items:center;background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:1rem;padding:1rem;transition:all var(--transition-base)}.doc-summary-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.doc-summary-card.total{background:linear-gradient(135deg,#6b8cae1a,#6b8cae0d);border-color:var(--primary-color)}.doc-summary-card.expired{background:linear-gradient(135deg,#ef44441a,#ef44440d);border-color:var(--error-color)}.doc-summary-card.missing{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border-color:var(--warning-color)}.doc-summary-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.users-icon{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 4px 12px #3b82f64d}.expired-icon{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 12px #ef44444d}.missing-icon{background:linear-gradient(135deg,#f59e0b,#d97706);box-shadow:0 4px 12px #f59e0b4d}.doc-summary-content{flex:1 1}.doc-summary-value{color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1;margin-bottom:.25rem}.doc-summary-label{color:var(--text-secondary);font-size:.8125rem;font-weight:500}.invalid-users-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:1.5rem}@media (max-width:768px){.invalid-users-grid{grid-template-columns:1fr}}.invalid-user-card{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.75rem;max-width:100%;overflow:hidden;padding:1rem;position:relative;transition:all var(--transition-base)}@media (max-width:768px){.invalid-user-card{gap:.625rem;padding:.875rem}}.invalid-user-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-4px)}.invalid-user-card.severity-critical{border-left:4px solid var(--error-color)}.invalid-user-card.severity-warning{border-left:4px solid var(--warning-color);max-width:100%}@media (max-width:768px){.invalid-user-card.severity-critical,.invalid-user-card.severity-warning{border-left-width:3px}}.severity-badge{align-items:center;border-radius:20px;box-shadow:0 2px 4px #0000004d;display:inline-flex;font-size:.6875rem;font-weight:800;gap:.375rem;justify-content:center;letter-spacing:.075em;line-height:1;max-width:calc(100% - 2rem);overflow:hidden;padding:.5rem .875rem;position:absolute;right:1rem;text-overflow:ellipsis;text-transform:uppercase;top:1rem;white-space:nowrap}@media (max-width:768px){.severity-badge{align-self:flex-start;font-size:.625rem;margin-bottom:.5rem;padding:.375rem .625rem;position:static}}.severity-badge.critical{background:var(--error-color);border:2px solid #fff3;color:#fff}.severity-badge.warning{background:var(--warning-color);border:2px solid #0000001a;color:#000;font-weight:800}.invalid-user-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;gap:.75rem;padding-bottom:.75rem}.invalid-user-avatar{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,#6b8caecc 100%);border-radius:50%;box-shadow:var(--shadow-sm);color:#fff;display:flex;flex-shrink:0;font-size:1.25rem;font-weight:700;height:48px;justify-content:center;width:48px}.invalid-user-info{flex:1 1;margin-right:3rem;min-width:0}@media (max-width:768px){.invalid-user-info{margin-right:0}}.invalid-user-name{color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:.25rem}.invalid-user-email,.invalid-user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.invalid-user-email{color:var(--text-secondary);font-size:.8125rem;font-weight:400}.issue-count-badge{align-items:center;background:linear-gradient(135deg,var(--error-color) 0,#dc2626 100%);border:2px solid #fff3;border-radius:50%;box-shadow:0 2px 8px #ef444466;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:800;height:32px;justify-content:center;margin-top:2.5rem;width:32px}.invalid-user-docs{display:flex;flex-direction:column;gap:.5rem}.doc-status-section{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.75rem}.doc-status-section.has-missing{background:#f59e0b0d;border-color:#f59e0b4d}.doc-status-section.has-expired{background:#ef44440d;border-color:#ef44444d}.doc-status-header{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.doc-status-icon{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:24px;justify-content:center;width:24px}.doc-status-icon.error{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 4px #ef44444d}.doc-status-icon.warning{background:linear-gradient(135deg,#f59e0b,#d97706);background:#f59e0b33;box-shadow:0 2px 4px #f59e0b4d;color:#000}.doc-status-icon.error{background:#ef444433}.doc-status-label{font-size:.875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.doc-status-label.missing{color:var(--warning-color)}.doc-status-label.expired{color:var(--error-color)}.doc-status-tags{display:flex;flex-wrap:wrap;gap:.5rem}.doc-tag{border:1px solid;border-radius:12px;font-size:.8125rem;font-weight:600;padding:.375rem .75rem;transition:all var(--transition-base)}.doc-tag.expired{background:#ef44441a;border-color:var(--error-color);color:var(--error-color)}.doc-tag.missing{background:#f59e0b1a;border-color:var(--warning-color);color:var(--warning-color)}.doc-tag:hover{transform:scale(1.05)}.invalid-user-actions{display:flex;gap:.75rem;margin-top:auto}.btn-action-primary,.btn-action-secondary{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all var(--transition-base)}.btn-action-primary{background:var(--primary-color);color:#fff}.btn-action-primary:hover{background:#5a7a9a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-action-secondary{background:var(--background-card);border:2px solid var(--border-color);color:var(--text-primary)}.btn-action-secondary:hover{border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px)}.btn-icon{font-size:1rem}.quick-action-footer{border-top:2px solid var(--border-color);padding-top:1.5rem;text-align:center}.btn-view-all{align-items:center;background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);display:inline-flex;font-weight:600;gap:.5rem;padding:.875rem 2rem;text-decoration:none;transition:all var(--transition-base)}.btn-view-all:hover{background:var(--primary-color);border-color:var(--primary-color);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.consolidated-financial-dashboard{background:var(--background-card);border:2px solid var(--border-color);box-shadow:var(--shadow-md);margin-bottom:2rem;padding:2rem}.consolidated-financial-dashboard:hover{border-color:#6b8cae4d;box-shadow:var(--shadow-lg)}.financial-dashboard-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.financial-dashboard-header h2{color:var(--text-primary);font-size:1.875rem;font-weight:700;margin:0}.financial-dashboard-tabs{display:flex;gap:.5rem}.tab-btn{align-items:center;background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all var(--transition-base)}.tab-btn:hover:not(:disabled){box-shadow:var(--shadow-md);transform:translateY(-2px)}.tab-btn.active,.tab-btn:hover:not(:disabled){background:var(--primary-color);border-color:var(--primary-color);color:#fff}.tab-btn.active:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.tab-btn:disabled{cursor:not-allowed;opacity:.6}.financial-summary-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.summary-card{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);display:flex;gap:1rem;overflow:hidden;padding:1.5rem;position:relative}.summary-card,.summary-card:before{transition:all var(--transition-base)}.summary-card:before{background:var(--border-color);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.summary-card.highlight:before{background:var(--primary-color);width:6px}.summary-card.vat-card:before{background:var(--warning-color);width:6px}.summary-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.summary-card-icon{align-items:center;display:flex;flex-shrink:0;font-size:2.5rem;justify-content:center}.summary-card-content{flex:1 1;min-width:0}.summary-card-label{color:var(--text-secondary);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.summary-card-value{color:var(--text-primary);font-size:1.75rem;font-weight:700;line-height:1.2;margin-bottom:.25rem}.summary-card-value.primary{color:var(--primary-color)}.summary-card-value.positive{color:var(--success-color)}.summary-card-value.negative{color:var(--error-color)}.summary-card-value.vat-amount{color:var(--warning-color)}.summary-card-breakdown,.summary-card-meta{color:var(--text-secondary);font-size:.8125rem;margin-top:.25rem}.tax-insight-section{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:2rem;padding:1.5rem}.tax-insight-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.tax-insight-header h3{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0}.tax-warning-badge{background:var(--warning-color);border-radius:var(--radius-sm);color:#fff;font-size:.875rem;font-weight:700;padding:.5rem 1rem}.tax-calculation-grid{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1.5rem}.tax-calc-row{align-items:center;display:flex;justify-content:space-between;padding:.75rem 0}.tax-calc-row.highlight{background:#6b8cae1a;border:1px solid #6b8cae4d;border-radius:var(--radius-sm);margin:.5rem 0;padding:1rem}.tax-calc-row.tax-row{background:#f59e0b1a;border:1px solid #f59e0b4d;border-radius:var(--radius-sm);margin:.5rem 0;padding:1rem}.tax-calc-row.final{background:#10b9811a;border:2px solid var(--success-color);border-radius:var(--radius-sm);margin:.5rem 0;padding:1rem}.tax-calc-label{color:var(--text-primary);font-size:.9375rem;font-weight:600}.tax-calc-label small{color:var(--text-secondary);display:block;font-size:.75rem;font-weight:400;margin-top:.25rem}.tax-calc-value{color:var(--text-primary);font-size:1.125rem;font-weight:700}.tax-calc-value.positive{color:var(--success-color)}.tax-calc-value.negative{color:var(--error-color)}.tax-calc-value.tax{color:var(--warning-color)}.tax-calc-divider{background:var(--border-color);height:2px;margin:.5rem 0}.tax-info-note{background:var(--background-elevated);border-left:4px solid var(--warning-color);border-radius:var(--radius-sm);margin-top:1rem;padding:1rem 1.25rem}.tax-info-note small{color:var(--text-primary);font-size:.875rem;line-height:1.6}.tax-info-note strong{color:var(--warning-color)}.quarterly-breakdown-section{margin-bottom:1rem}.quarterly-breakdown-section h3{color:var(--text-primary);font-size:1.125rem;font-weight:700;margin-bottom:1rem}.current-badge{background:var(--primary-color);border-radius:12px;color:#fff;font-size:.6875rem;font-weight:700;margin-left:.5rem;padding:.25rem .625rem;text-transform:uppercase}.detailed-breakdown-section{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.detailed-breakdown-section h3{color:var(--text-primary);font-size:1.125rem;font-weight:700;margin-bottom:1rem}.breakdown-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.breakdown-column h4{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1rem;font-weight:700;margin-bottom:.75rem;padding-bottom:.5rem}.breakdown-list{display:flex;flex-direction:column;gap:.5rem}.breakdown-item{grid-gap:.75rem;align-items:center;background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:grid;gap:.75rem;grid-template-columns:1fr auto auto;padding:.5rem;transition:all var(--transition-base)}.breakdown-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm);transform:translateX(4px)}.breakdown-label{align-items:center;color:var(--text-primary);display:flex;font-size:.875rem;font-weight:600;gap:.5rem}.breakdown-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.breakdown-value{color:var(--text-primary);font-size:1rem;font-weight:700;white-space:nowrap}.breakdown-percentage{background:var(--background-elevated);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:600;padding:.25rem .5rem}.chart-column{grid-column:span 1}.chart-column .totals-piechart-wrapper{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:1rem}@media (max-width:768px){.consolidated-financial-dashboard{padding:1rem}.financial-dashboard-header{align-items:flex-start;flex-direction:column;gap:1rem}.financial-dashboard-header h2{font-size:1.5rem}.financial-summary-grid{gap:1rem;grid-template-columns:1fr}.summary-card{padding:1rem}.summary-card-icon{font-size:2rem}.summary-card-value{font-size:1.5rem}.tax-calculation-grid,.tax-insight-section{padding:1rem}.tax-calc-row{align-items:flex-start;flex-direction:column;gap:.5rem}.breakdown-grid{gap:1.5rem;grid-template-columns:1fr}.breakdown-item{gap:.5rem;grid-template-columns:1fr}.breakdown-percentage,.breakdown-value{justify-self:start}}.collapsible-card .collapsible-header{align-items:center;cursor:default;display:flex;justify-content:space-between;-webkit-user-select:none;user-select:none;width:100%}.collapsible-card .collapse-icon{color:var(--text-secondary);display:none;flex-shrink:0;font-size:.875rem;margin-left:auto;transition:transform .3s ease}.collapsible-card .collapsible-content{overflow:hidden;transition:max-height .4s ease,opacity .3s ease}.financial-dashboard-header.collapsible-header{cursor:default;margin-bottom:1.5rem}.financial-dashboard-header.collapsible-header h2{align-items:center;display:flex;justify-content:space-between;margin:0;width:100%}@media (max-width:768px){.dashboard{padding:.75rem}.dashboard,.dashboard-card{max-width:100%;overflow-x:hidden}.dashboard-card.full-width{max-width:100%;width:100%}.collapsible-card .collapsible-header{border-bottom:2px solid #6b8cae26;cursor:pointer;margin-bottom:1rem;padding:.5rem 0;transition:color .2s ease}.collapsible-card .collapsible-header:active,.collapsible-card .collapsible-header:hover{color:var(--primary-color)}.collapsible-card .collapse-icon{display:inline-block}.collapsible-card .collapsible-content{margin-top:0;max-height:0;opacity:0;overflow:hidden}.collapsible-card.open .collapsible-content{margin-top:.5rem;max-height:10000px;opacity:1;overflow:visible}.collapsible-card.open .collapse-icon{transform:rotate(0deg)}.collapsible-card:not(.open) .collapse-icon{transform:rotate(-90deg)}.financial-dashboard-header.collapsible-header{border-bottom:2px solid #6b8cae26;cursor:pointer;margin-bottom:0;padding-bottom:.75rem}.financial-dashboard-header.collapsible-header:active h2,.financial-dashboard-header.collapsible-header:hover h2{color:var(--primary-color)}.financial-dashboard-header.collapsible-header h2 span:first-child{flex:1 1}.dashboard-row,.financial-summary-grid{gap:1rem;grid-template-columns:1fr!important}.financial-summary-grid{overflow-x:auto}*{max-width:100%}.dashboard-card,.project-assignment-card,.quarterly-overview,.summary-card{box-sizing:border-box;overflow-x:hidden}*{-webkit-overflow-scrolling:touch}.collapsible-content,.dashboard-row,.financial-summary-grid,.scrollable-content{-webkit-overflow-scrolling:touch;overflow-x:auto}.financial-summary-grid::-webkit-scrollbar,.scrollable-content::-webkit-scrollbar{height:6px}.financial-summary-grid::-webkit-scrollbar-track,.scrollable-content::-webkit-scrollbar-track{background:var(--background-elevated);border-radius:3px}.financial-summary-grid::-webkit-scrollbar-thumb,.scrollable-content::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.btn,.collapsible-header,button{min-height:44px;min-width:44px}.dashboard{padding:1rem}.dashboard-card{margin-bottom:1rem;padding:1rem}.collapsible-header,.section-title{padding:.75rem;touch-action:manipulation}.financial-summary-label,.summary-label{font-size:.8125rem}.financial-summary-value,.summary-value{font-size:1.25rem}}@media (max-width:480px){.dashboard{padding:.75rem}h1{font-size:1.5rem;margin-bottom:1rem}.dashboard-card{padding:.875rem}.dashboard-card h3{font-size:1rem}.btn,button{font-size:.875rem;padding:.625rem 1rem}}.dashboard-calendar-widget{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;position:relative}.dashboard-calendar-widget:after{background:linear-gradient(to left,var(--background-card),#0000);bottom:160px;content:"";opacity:0;pointer-events:none;position:absolute;right:0;top:80px;transition:opacity .3s ease;width:40px}@media (max-width:768px){.dashboard-calendar-widget:after{opacity:1}}.dashboard-calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.25rem}.dashboard-calendar-header h3{color:var(--text-primary);font-size:1.25rem;margin:0}.btn-view-calendar{background:none;border:none;border-radius:var(--radius-sm);color:var(--primary-color);cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all var(--transition-base)}.btn-view-calendar:hover{background:var(--background-elevated)}.dashboard-calendar-grid{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-bottom:1.5rem}@media (max-width:768px){.dashboard-calendar-grid{-webkit-overflow-scrolling:touch;overflow-x:auto;scrollbar-color:var(--primary-color) var(--background-elevated);scrollbar-width:thin}.dashboard-calendar-grid::-webkit-scrollbar{height:6px}.dashboard-calendar-grid::-webkit-scrollbar-track{background:var(--background-elevated);border-radius:3px}.dashboard-calendar-grid::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}}.dashboard-calendar-day{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;min-height:70px;padding:.5rem .25rem;text-align:center;transition:all var(--transition-base);-webkit-user-select:none;user-select:none}.dashboard-calendar-day:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.dashboard-calendar-day.today{background:linear-gradient(135deg,#6b8cae26,#6b8cae0d);border:2px solid var(--primary-color)}.dashboard-calendar-day.selected{background:linear-gradient(135deg,#6b8cae40,#6b8cae1a);border:2px solid var(--primary-color);box-shadow:0 0 0 2px #6b8cae33}.dashboard-calendar-day.today.selected{background:linear-gradient(135deg,#6b8cae59,#6b8cae26)}.dashboard-day-header{margin-bottom:.25rem}.dashboard-day-name{color:var(--text-secondary);font-size:.625rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.dashboard-day-number{color:var(--text-primary);font-size:1rem;font-weight:700}.dashboard-calendar-day.today .dashboard-day-number{color:var(--primary-color)}.dashboard-day-projects{display:flex;flex-wrap:wrap;gap:.25rem;justify-content:center;margin-top:auto}.dashboard-project-dot{background-color:var(--primary-color);background-color:var(--project-color,var(--primary-color));border-radius:50%;height:8px;pointer-events:none;transition:all var(--transition-base);width:8px}.dashboard-calendar-day:hover .dashboard-project-dot{box-shadow:0 0 4px #0000004d;transform:scale(1.3)}.dashboard-more-indicator{color:var(--text-secondary);font-size:.625rem;font-weight:600}.dashboard-day-empty{color:var(--text-muted);font-size:.75rem;margin-top:auto}.selected-date-section{border-top:1px solid var(--border-color);margin-top:1.25rem;max-height:500px;overflow-x:hidden;overflow-y:auto;padding-top:1.25rem;position:relative}.selected-date-section:after{background:linear-gradient(to bottom,#0000,var(--background-card));bottom:0;content:"";height:40px;left:0;opacity:0;pointer-events:none;position:-webkit-sticky;position:sticky;right:0;transition:opacity .3s ease}.selected-date-section:not(:hover):after{opacity:0}.selected-date-section::-webkit-scrollbar{width:8px}.selected-date-section::-webkit-scrollbar-track{background:var(--background-elevated);border-radius:4px}.selected-date-section::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.selected-date-section::-webkit-scrollbar-thumb:hover{background:var(--primary-dark)}.selected-date-section h4{background:var(--background-card);border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:1.125rem;font-weight:600;margin-bottom:1rem;padding:.5rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:1}.loading-assignments{color:var(--text-secondary);font-style:italic;padding:2rem;text-align:center}.no-projects-message{color:var(--text-muted);font-size:.875rem;padding:2rem;text-align:center}.selected-day-projects-list{display:flex;flex-direction:column;gap:.75rem;padding-bottom:.5rem}.selected-project-card{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.875rem;transition:all var(--transition-base)}.selected-project-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm)}@media (min-width:769px){.selected-day-projects-list:has(.selected-project-card:nth-child(4)) .selected-project-card{padding:.75rem}.selected-day-projects-list:has(.selected-project-card:nth-child(4)){gap:.5rem}}.selected-project-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.selected-project-color{border-radius:50%;flex-shrink:0;height:16px;width:16px}.selected-project-info{flex:1 1;min-width:0}.selected-project-name{color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;transition:color var(--transition-base);white-space:nowrap}.selected-project-name:hover{color:var(--primary-color)}.selected-project-client{color:var(--text-secondary);font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-assigned-users{border-top:1px solid var(--border-color);padding-top:.75rem}.assigned-users-label{color:var(--text-secondary);font-size:.875rem;font-weight:600;margin-bottom:.5rem}.assigned-users-list{display:flex;flex-direction:column;gap:.5rem}.assigned-user-item{align-items:center;background:var(--background-card);border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:all var(--transition-base)}.assigned-user-item:hover{border-color:var(--primary-color);transform:translateX(4px)}.assigned-user-avatar{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:36px;justify-content:center;width:36px}.assigned-user-details{flex:1 1;min-width:0}.assigned-user-name{color:var(--text-primary);font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assigned-user-role{color:var(--text-secondary);font-size:.75rem;text-transform:capitalize}.no-assignments-message{border-radius:var(--radius-sm);color:var(--text-muted);font-style:italic;padding:.75rem}.no-assignments-message,.show-more-button{background:var(--background-card);font-size:.8125rem}.show-more-button{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--primary-color);cursor:pointer;display:flex;font-weight:600;gap:.25rem;justify-content:center;margin-top:.5rem;padding:.5rem;transition:all var(--transition-base);width:100%}.show-more-button:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.show-more-button:active{transform:scale(.98)}.dashboard-active-projects{border-top:1px solid var(--border-color);padding-top:1rem}.dashboard-active-projects h4{color:var(--text-primary);font-size:1rem;margin-bottom:.75rem}.active-projects-list{display:flex;flex-direction:column;gap:.5rem}.active-project-item{align-items:center;background:var(--background-elevated);border:1px solid #0000;border-radius:var(--radius-sm);cursor:pointer;display:flex;gap:.75rem;padding:.75rem;transition:all var(--transition-base)}.active-project-item:hover{border-color:var(--primary-color);transform:translateX(4px)}.active-project-color{border-radius:50%;flex-shrink:0;height:12px;width:12px}.active-project-info{flex:1 1;min-width:0}.active-project-name{color:var(--text-primary);font-size:.875rem;font-weight:600}.active-project-client,.active-project-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-project-client{color:var(--text-secondary);font-size:.75rem}@media (max-width:768px){.dashboard-calendar-widget{overflow-x:auto;padding:1rem}.dashboard-calendar-header{align-items:flex-start;flex-direction:column;gap:.75rem;margin-bottom:1rem}.dashboard-calendar-header h3{font-size:1.125rem}.btn-view-calendar{background:var(--primary-color);color:#fff;padding:.75rem 1rem;text-align:center;width:100%}.btn-view-calendar:hover{background:var(--primary-dark)}.dashboard-calendar-grid{gap:.35rem;grid-template-columns:repeat(7,minmax(50px,1fr));min-width:360px;overflow-x:auto}.dashboard-calendar-day{min-height:65px;padding:.35rem .2rem}.dashboard-day-name{font-size:.55rem}.dashboard-day-number{font-size:.95rem}.dashboard-project-dot{height:6px;width:6px}.dashboard-more-indicator{font-size:.55rem}.dashboard-active-projects h4{font-size:.95rem}.active-project-item{padding:.6rem}.active-project-name{font-size:.8rem}.active-project-client{font-size:.7rem}.selected-date-section{max-height:400px}.selected-date-section h4{font-size:1rem;padding:.4rem 0}.selected-project-card{padding:.75rem}.selected-project-name{font-size:.875rem}.selected-project-client{font-size:.75rem}.assigned-users-label{font-size:.8125rem}.assigned-user-avatar{font-size:.8125rem;height:32px;width:32px}.assigned-user-name{font-size:.8125rem}.assigned-user-role{font-size:.7rem}.show-more-button{font-size:.75rem;padding:.45rem}}@media (max-width:480px){.dashboard-calendar-widget{border-radius:var(--radius-sm);padding:.75rem}.dashboard-calendar-header h3{font-size:1rem}.dashboard-calendar-grid{gap:.25rem;grid-template-columns:repeat(7,minmax(45px,1fr));min-width:320px}.dashboard-calendar-day{min-height:55px;padding:.3rem .15rem}.dashboard-day-name{font-size:.5rem}.dashboard-day-number{font-size:.85rem}.dashboard-day-projects{gap:.15rem}.dashboard-project-dot{height:5px;width:5px}.dashboard-more-indicator{font-size:.5rem}.dashboard-active-projects{padding-top:.75rem}.dashboard-active-projects h4{font-size:.875rem;margin-bottom:.5rem}.active-projects-list{gap:.4rem}.active-project-item{gap:.5rem;padding:.5rem}.active-project-color{height:10px;width:10px}.active-project-name{font-size:.75rem}.active-project-client{font-size:.65rem}.dashboard-day-number{font-size:.875rem}.dashboard-project-dot{height:6px;width:6px}.show-more-button{font-size:.7rem;margin-top:.4rem;padding:.4rem}}.agenda-widget{border:2px solid var(--border-color);box-shadow:var(--shadow-md);box-sizing:border-box;max-width:100%;overflow:hidden}.agenda-widget,.agenda-widget-error{background:var(--background-card);border-radius:var(--radius-lg)}.agenda-widget-error{padding:3rem 2rem;text-align:center}.agenda-widget-error p{color:var(--text-secondary);font-size:1rem;margin-bottom:1rem}.btn-retry{background:var(--primary-color);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all var(--transition-base)}.btn-retry:hover{background:var(--primary-hover);transform:translateY(-2px)}.agenda-widget-header{background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%);border-bottom:2px solid var(--primary-color);padding:1rem 1.25rem}.agenda-widget-header h3{align-items:center;color:#fff;display:flex;font-size:1.125rem;font-weight:700;gap:.5rem;margin:0}.agenda-widget-content{grid-gap:1.5rem;box-sizing:border-box;display:grid;gap:1.5rem;grid-template-columns:1fr;max-width:100%;overflow-x:hidden;padding:1.25rem}@media (min-width:768px){.agenda-widget-content{grid-template-columns:1fr 1fr}}.widget-calendar-section{display:flex;flex-direction:column;gap:1rem}.widget-calendar-controls{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.widget-month-title{color:var(--text-primary);font-size:1.125rem;font-weight:700;margin:0;text-transform:capitalize}.btn-widget-nav{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:1rem;font-weight:600;padding:.5rem .75rem;transition:all var(--transition-base)}.btn-widget-nav:hover{border-color:var(--primary-color);transform:translateY(-2px)}.btn-widget-nav:hover,.btn-widget-today{background:var(--primary-color);color:#fff}.btn-widget-today{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.875rem;font-weight:600;margin-bottom:.75rem;padding:.5rem 1rem;transition:all var(--transition-base);width:100%}.btn-widget-today:hover{background:var(--primary-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.widget-calendar-header{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem}.widget-day-name{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding:.5rem 0;text-align:center;text-transform:uppercase}.widget-calendar-grid{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(7,1fr)}.widget-calendar-day{align-items:center;aspect-ratio:1;background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:.25rem;position:relative;transition:all var(--transition-base)}.widget-calendar-day:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm);transform:scale(1.05);z-index:10}.widget-calendar-day.other-month{opacity:.3}.widget-calendar-day.today{background:linear-gradient(135deg,#6b8cae26,#6b8cae0d);border-color:var(--primary-color)}.widget-calendar-day.selected{background:var(--primary-color);border-color:var(--primary-color)}.widget-calendar-day.selected .widget-day-number{color:#fff;font-weight:800}.widget-calendar-day.has-assignments{background:linear-gradient(135deg,#10b9811a,#10b9810d)}.widget-day-number{color:var(--text-primary);font-size:.875rem;font-weight:600}.widget-assignment-dot{align-items:center;background:var(--success-color);border-radius:50%;bottom:2px;color:#fff;display:flex;font-size:.625rem;font-weight:700;height:16px;justify-content:center;position:absolute;width:16px}.widget-calendar-day.selected .widget-assignment-dot{background:#fff;color:var(--primary-color)}.widget-assignments-section{display:flex;flex-direction:column;gap:1rem;max-height:500px;overflow-y:auto}.widget-assignments-header h4{border-bottom:2px solid var(--border-color);color:var(--text-primary);font-size:1rem;font-weight:700;margin:0;padding-bottom:.75rem;text-transform:capitalize}.widget-assignments-list{box-sizing:border-box;display:flex;flex-direction:column;gap:1rem;max-width:100%;width:100%}.assignments-header{align-items:center;background:linear-gradient(135deg,var(--primary-color) 0,var(--primary-hover) 100%);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:.5rem;padding:1rem}.assignments-header h5{align-items:center;color:#fff;display:flex;font-size:1rem;font-weight:700;gap:.5rem;margin:0}.assignments-count{background:#fff3;border-radius:12px;color:#fff;font-size:.8125rem;font-weight:600;padding:.25rem .75rem}.project-assignment-card{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-lg);box-sizing:border-box;margin-bottom:1rem;max-width:100%;overflow:hidden;transition:all var(--transition-base)}.project-assignment-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-2px)}.project-header{background:var(--background-elevated);border-bottom:2px solid var(--border-color);box-sizing:border-box;flex-wrap:wrap;gap:1rem;justify-content:space-between;padding:1rem 1.25rem}.project-header,.project-title{align-items:center;display:flex;max-width:100%}.project-title{flex:1 1;gap:.75rem;min-width:0}.project-number{align-items:center;background:var(--primary-color);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:28px;justify-content:center;width:28px}.project-title h6{color:var(--text-primary);flex:1 1;font-size:1.0625rem;font-weight:700;line-height:1.3;margin:0;min-width:0;overflow-wrap:break-word;word-break:break-word}.project-dates{background:var(--background-card);border-radius:var(--radius-sm);color:var(--text-secondary);flex-shrink:0;font-size:.8125rem;font-weight:600;padding:.375rem .75rem;white-space:nowrap}.project-details-grid{grid-gap:1rem;box-sizing:border-box;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));max-width:100%;padding:1.25rem}.project-info-item{align-items:flex-start;display:flex;gap:.75rem;max-width:100%;overflow:hidden}.project-info-item.full-width{grid-column:1/-1}.info-icon{flex-shrink:0;font-size:1.25rem;text-align:center;width:28px}.info-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0;overflow:hidden}.info-label{color:var(--text-secondary);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.info-value{color:var(--text-primary);font-size:1rem;font-weight:600;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;word-break:break-word}.info-sublabel{color:var(--text-secondary);font-size:.875rem;font-weight:500;overflow-wrap:break-word}.project-notes{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border-top:2px solid #f59e0b4d;display:flex;gap:.75rem;padding:1rem 1.25rem}.notes-icon{flex-shrink:0;font-size:1.25rem}.notes-content{flex:1 1}.notes-label{color:#f59e0b;display:block;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.notes-text{color:var(--text-primary);font-size:.9375rem;font-weight:500;line-height:1.5;margin:0}.no-assignments-message{color:var(--text-secondary);padding:3rem 1rem;text-align:center}.no-assignments-icon{font-size:3rem;margin-bottom:1rem}.no-assignments-message p{color:var(--text-primary);font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.no-assignments-message small{color:var(--text-secondary);font-size:.875rem}.whatsapp-link{color:#25d366;font-weight:600;text-decoration:none;transition:all var(--transition-base)}.whatsapp-link:hover{color:#128c7e;text-decoration:underline}.widget-assignments-section::-webkit-scrollbar{width:8px}.widget-assignments-section::-webkit-scrollbar-track{background:var(--background-elevated);border-radius:var(--radius-sm)}.widget-assignments-section::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}.widget-assignments-section::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}@media (max-width:1024px){.agenda-widget-content{grid-template-columns:1fr}.widget-assignments-section{max-height:500px}.project-details-grid{grid-template-columns:1fr}.project-info-item.full-width{grid-column:1}}@media (max-width:768px){.agenda-widget-header{padding:1rem}.agenda-widget-header h3{font-size:1.125rem}.agenda-widget-content{gap:1rem;grid-template-columns:1fr;padding:1rem}.widget-calendar-section{order:2}.widget-assignments-section{max-height:none;order:1}.widget-month-title{font-size:.9375rem}.widget-calendar-day{aspect-ratio:1;min-height:40px}.widget-day-number{font-size:.6875rem}.widget-assignment-dot{font-size:.5rem;height:12px;width:12px}.assignments-header{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem;margin:0;max-width:84%;padding:.875rem 1rem}.assignments-header h5{font-size:.9375rem}.assignments-count{font-size:.75rem;padding:.25rem .5rem}.project-assignment-card{border-radius:var(--radius-md);box-sizing:border-box;margin-bottom:1rem;max-width:84%;width:100%}.project-header{align-items:flex-start;box-sizing:border-box;flex-direction:column;gap:.75rem;padding:1rem;width:100%}.project-title{flex-wrap:nowrap;gap:.625rem;width:100%}.project-number{font-size:.8125rem;height:26px;width:26px}.project-title h6{flex:1 1;font-size:1rem;line-height:1.4;min-width:0}.project-dates{align-self:flex-start;font-size:.75rem;padding:.375rem .625rem;width:auto}.project-details-grid{box-sizing:border-box;gap:1rem;grid-template-columns:1fr;padding:1rem;width:100%}.project-info-item{box-sizing:border-box;gap:.625rem;width:100%}.info-icon{font-size:1.125rem;width:24px}.info-label{font-size:.6875rem}.info-value{font-size:.9375rem;line-height:1.5}.info-sublabel{font-size:.8125rem}.project-notes{box-sizing:border-box;gap:.625rem;padding:1rem;width:100%}.notes-label{font-size:.6875rem}.notes-text{font-size:.875rem;line-height:1.6}.whatsapp-link{font-size:.9375rem;word-break:break-all}}@media (max-width:480px){.agenda-widget-content{padding:.75rem}.widget-day-name{font-size:.625rem}.widget-calendar-grid{gap:.125rem}.widget-calendar-day{border-width:1px;min-height:44px;min-width:44px}.widget-day-number{font-size:.7rem}.assignments-header{gap:.5rem;padding:.75rem}.assignments-header h5{font-size:.875rem;width:100%}.assignments-count{font-size:.6875rem;padding:.25rem .5rem}.project-assignment-card{margin-bottom:.875rem}.project-header{gap:.625rem;padding:.875rem}.project-number{font-size:.75rem;height:24px;width:24px}.project-title h6{font-size:.9375rem;line-height:1.4}.project-dates{font-size:.6875rem;padding:.3125rem .5rem}.project-details-grid{gap:.875rem;padding:.875rem}.info-icon,.notes-icon{font-size:1.125rem}.info-value{font-size:.875rem}.project-notes{padding:.875rem}.notes-text{font-size:.8125rem}.widget-assignments-section{-webkit-overflow-scrolling:touch}.agenda-widget-header{padding:1rem}.agenda-widget-header h3{font-size:1rem}.month-navigation button{font-size:.8125rem;padding:.5rem .75rem}.current-month{font-size:.875rem}.project-card{padding:.75rem}.project-title h5{font-size:.875rem}.info-value{font-size:.8125rem}}.user-list-modern{margin:auto;max-width:1200px;min-width:0;padding:20px;width:100vw}.list-header{border-bottom:2px solid var(--border-color);justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.list-header,.list-header-left{align-items:center;display:flex}.list-header-left{gap:var(--space-4)}.list-header h2{color:var(--text-primary);font-size:var(--text-3xl);font-weight:var(--font-bold);margin:0}.count-badge{background:#6b8cae26;border-radius:12px;color:var(--primary-color);font-size:var(--text-sm);font-weight:var(--font-semibold);padding:.375rem .875rem}.users-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.user-card{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-4);max-width:100%;overflow:hidden;padding:var(--space-5);text-decoration:none;transition:all var(--transition-base)}.user-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.user-card-header{gap:var(--space-4);min-width:0}.user-avatar,.user-card-header{align-items:center;display:flex}.user-avatar{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;font-size:var(--text-2xl);font-weight:var(--font-bold);height:56px;justify-content:center;position:relative;width:56px}.user-avatar .avatar-image{border-radius:50%;height:100%;object-fit:cover;width:100%}.user-avatar .avatar-initials{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.user-info{flex:1 1;min-width:0}.user-info h3{color:var(--text-primary);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-1) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-role-badge{background:#6b8cae26;border-radius:8px;color:var(--primary-color);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:.25rem .625rem;text-transform:capitalize}.user-card-body{gap:var(--space-2)}.user-card-body,.user-detail{display:flex;flex-direction:column}.user-detail{font-size:var(--text-sm);gap:var(--space-1);min-width:0}.detail-label{color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.detail-value{color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-card-footer{border-top:1px solid var(--border-color);display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-3)}.status-badge.status-inactive{background:#ef444426;border:1px solid var(--error-color);color:var(--error-color)}.doc-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-bold);justify-content:center;letter-spacing:.05em;line-height:1;padding:.375rem .75rem;text-transform:uppercase}.doc-badge.doc-valid{background:#10b98126;border:1px solid var(--success-color);color:var(--success-color)}.doc-badge.doc-expired{background:#f59e0b26;border:1px solid var(--warning-color);color:var(--warning-color)}.doc-badge.doc-missing{background:#ef444426;border:1px solid var(--error-color);color:var(--error-color)}.user-card-actions{display:flex;justify-content:flex-end;padding-top:var(--space-2)}.btn-link{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-sm);font-weight:var(--font-semibold);padding:var(--space-2) var(--space-3);transition:all var(--transition-base)}.btn-link:hover{background:#ef44441a}.delete-link{align-items:center;border:1px solid var(--error-color);border-radius:var(--radius-sm);color:var(--error-color);display:inline-flex;font-weight:var(--font-semibold);gap:var(--space-2);padding:var(--space-2) var(--space-3);transition:all var(--transition-base)}.delete-link:hover{background:var(--error-color);box-shadow:var(--shadow-md);color:#fff;transform:translateY(-2px)}.modal-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-group{gap:var(--space-2)}.form-label{color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-semibold)}.form-label.required:after{color:var(--error-color);content:" *"}.form-input{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-base)}.form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.modal-actions{border-top:1px solid var(--border-color);display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-4)}.mb-0{margin-bottom:0!important}@media (max-width:1024px){.user-list-modern{padding:var(--space-5)}.users-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media (max-width:768px){.user-list-modern{padding:var(--space-4)}.list-header{align-items:flex-start;flex-direction:column;gap:var(--space-3)}.list-header-left{align-items:center;flex-direction:row;gap:var(--space-3);width:100%}.list-header h2{font-size:var(--text-2xl)}.list-header .btn{width:100%}.filters-bar{flex-direction:column;gap:var(--space-3);padding:var(--space-3)}.search-box{min-width:100%;width:100%}.filters-right{gap:var(--space-3)}.filter-group,.filters-right{flex-direction:column;width:100%}.filter-group{align-items:flex-start}.filter-group label{font-size:var(--text-sm)}.filter-select{width:100%}.users-grid{gap:var(--space-4);grid-template-columns:1fr}.user-card{box-sizing:border-box;max-width:100%;padding:var(--space-4)}.user-avatar{font-size:var(--text-xl);height:48px;width:48px}.user-info h3{font-size:var(--text-base)}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}@media (max-width:480px){.user-list-modern{padding:var(--space-3)}.list-header h2{font-size:var(--text-xl)}.count-badge{font-size:.7rem;padding:.25rem .625rem}.search-icon{font-size:1rem}.search-input{font-size:var(--text-sm);padding:var(--space-2) var(--space-3) var(--space-2) 2.5rem}.user-card{padding:var(--space-3)}.user-avatar{font-size:var(--text-lg);height:40px;width:40px}.user-card-footer{align-items:flex-start;flex-direction:column}.doc-badge,.status-badge{font-size:.65rem;padding:.25rem .5rem}.delete-link{padding:var(--space-2) 0;text-align:left;width:100%}}.user-detail-modern{animation:fadeIn .3s ease-in;margin:0 auto;max-width:1400px;padding:var(--space-6)}.user-header{border-bottom:2px solid var(--border-color);justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-5)}.user-header,.user-header-main{align-items:center;display:flex}.user-header-main{gap:var(--space-5)}.user-avatar{border:3px solid var(--border-color);border-radius:50%;cursor:pointer;flex-shrink:0;height:100px;overflow:hidden;transition:all var(--transition-base);width:100px}.user-avatar:hover{border-color:var(--primary-color);box-shadow:0 0 0 4px #6b8cae33}.user-avatar-img{height:100%;object-fit:cover;width:100%}.user-avatar-placeholder{align-items:center;background:var(--background-elevated);color:var(--text-secondary);display:flex;font-size:3rem;height:100%;justify-content:center;width:100%}.user-header-info h2{font-size:var(--text-3xl);margin:0 0 var(--space-2) 0}.user-header-info h2,.user-name-input{color:var(--text-primary);font-weight:var(--font-bold)}.user-name-input{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-2xl);max-width:400px;padding:var(--space-2) var(--space-3)}.user-name-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.user-meta{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4)}.user-role{background:#6b8cae26;color:var(--primary-color)}.user-role,.user-status{align-items:center;border-radius:12px;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);padding:.375rem .875rem}.user-status.active{background:#10b98126;color:var(--success-color)}.user-status.inactive{background:#ef444426;color:var(--error-color)}.doc-status{align-items:center;border-radius:12px;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);padding:.375rem .875rem}.doc-status.valid{background:#10b98126;color:var(--success-color)}.doc-status.expired{background:#f59e0b26;color:var(--warning-color)}.doc-status.missing{background:#ef444426;color:var(--error-color)}.user-header-actions{display:flex;gap:var(--space-3)}.image-modal-overlay{background:#000000e6;bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999}.image-modal-close,.image-modal-overlay{align-items:center;cursor:pointer;display:flex;justify-content:center}.image-modal-close{background:var(--error-color);border:none;border-radius:50%;color:#fff;font-size:2rem;height:50px;position:absolute;right:20px;top:20px;transition:all var(--transition-base);width:50px;z-index:10000}.image-modal-close:hover{background:#dc2626;transform:rotate(90deg)}.image-modal-img{border-radius:var(--radius-lg);box-shadow:0 20px 60px #00000080;max-height:90%;max-width:90%}.info-grid{grid-template-columns:1fr 1fr}.info-row{grid-template-columns:150px 1fr}.documents-section{display:flex;flex-direction:column;gap:var(--space-4)}.upload-card{background:var(--background-card);border:2px dashed var(--border-color);border-radius:var(--radius-md);padding:var(--space-5)}.documents-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.document-card{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-4);transition:all var(--transition-base)}.document-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.document-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:var(--space-3)}.document-header h4{color:var(--text-primary);flex:1 1;font-size:var(--text-base);font-weight:var(--font-bold);margin:0}.btn-delete-small{background:var(--error-color);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:.375rem .75rem;transition:all var(--transition-base)}.btn-delete-small:hover{background:#dc2626;box-shadow:0 2px 4px #ef44444d;transform:translateY(-1px)}.document-info{margin-bottom:var(--space-3)}.document-filename{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-2) 0;word-break:break-all}.document-expiry{color:var(--text-primary);font-size:var(--text-sm);margin:0}.document-expiry.expired{color:var(--error-color);font-weight:var(--font-semibold)}.document-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.btn-small{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-size:var(--text-sm);justify-content:center;padding:.375rem .75rem;text-decoration:none;transition:all var(--transition-base)}.btn-view{background:var(--primary-color)}.btn-view:hover{background:var(--primary-hover)}.form-input-small,.form-select-small{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-sm);padding:.25rem .5rem}.form-select-small{cursor:pointer;min-width:150px}.form-input-small:focus,.form-select-small:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px #6b8cae1a;outline:none}.project-mini-card{gap:var(--space-2)}.project-location,.project-role{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);margin:0}@media (max-width:1024px){.user-detail-modern{padding:var(--space-5)}.info-grid{grid-template-columns:1fr}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.user-detail-modern{padding:var(--space-4)}.user-header{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.user-header-main{align-items:center;flex-direction:column;text-align:center;width:100%}.user-header-info{width:100%}.user-header-info h2{font-size:var(--text-2xl)}.user-meta{justify-content:center}.user-header-actions{flex-direction:column;width:100%}.user-header-actions .btn{justify-content:center;width:100%}.desktop-tabs{display:none!important}.mobile-tabs{display:block}.info-row{gap:var(--space-2)}.documents-grid,.info-row,.projects-grid{grid-template-columns:1fr}}@media (max-width:480px){.user-detail-modern{padding:var(--space-3)}.user-avatar{height:80px;width:80px}.user-header-info h2{font-size:var(--text-xl)}.user-meta{gap:var(--space-2)}.tab{flex-direction:column;font-size:var(--text-sm);gap:0;line-height:1.3;padding:var(--space-3) var(--space-1)}.tab-count{font-size:.65rem;margin-top:2px}}.customer-list{margin:auto;max-width:1200px;min-width:0;padding:20px;width:100vw}.invite-section{margin-bottom:20px}.invite-form{margin-top:10px}.invite-form input,.invite-form select{margin:10px 10px 10px 0}.delete{background-color:red!important}table td,table th{text-align:center}@media (max-width:700px){table,table tbody,table thead,table tr{box-sizing:border-box;display:block;width:100%}table thead{display:none}table tr{background:#23252b;border-radius:8px;box-shadow:0 2px 8px #00000014;margin-bottom:18px;padding:10px 0}table td,table tr{box-sizing:border-box;width:100%}table td{align-items:center;background:none;border:none;border-bottom:1px solid #444;display:flex;font-size:1rem;justify-content:space-between;padding:10px 16px;position:relative;word-break:break-word}table td:last-child{border-bottom:none}table td:before{box-sizing:border-box;color:#bfc4d1;content:attr(data-label);flex:0 0 50%;font-size:.95em;font-weight:600;padding-right:10px;text-align:left;word-break:break-word}table td[data-label=Acties]{align-items:stretch;flex-direction:column;gap:8px}table td[data-label=Acties] button{margin-bottom:6px;width:100%}table td[data-label=Acties] button:last-child{margin-bottom:0}.actions{align-items:stretch;flex-direction:column;gap:8px}}.customer-info-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.customer-info-grid.enhanced-mobile-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-top:1.5rem}.customer-card{background:linear-gradient(135deg,#23252b 80%,#2b3a49);border:1px solid #2b3a49;border-radius:10px;box-shadow:0 1px 4px #00000012;display:flex;flex:1 1 220px;flex-direction:column;min-width:220px;outline:none;padding:1.1rem 1.2rem;transition:box-shadow .2s,border .2s}.customer-card:hover{box-shadow:0 4px 16px #00000021}.customer-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.customer-card-header h3{color:#7495b4;font-size:1.2rem;font-weight:600;margin:0}.customer-card-body{flex:1 1;margin-bottom:1rem}.customer-meta p{color:#e0e0e0;font-size:1rem;margin:.2em 0}.customer-card p{color:#e0e0e0;font-size:.9em;margin:5px 0}.placeholder{color:#bbb;font-style:italic}.customer-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:15px}.btn-add-customer{background:#1d5c3b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;margin-bottom:20px;padding:8px 16px;transition:background .2s}.btn-add-customer:hover{background:#28a745}.btn-cancel-customer{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;margin-bottom:20px;padding:8px 16px;transition:background .2s}.btn-cancel-customer:hover{background:#c82333}.create-form{grid-gap:1rem;background:#23252b;border-radius:8px;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:1rem;padding:1.5rem}.create-form button[type=submit],.create-form input{background:#2c2f3b;border:1px solid #ccc;border-radius:6px;color:#fff;font-size:1rem;padding:12px;transition:border-color .3s ease,box-shadow .3s ease}.create-form input:focus{border-color:#7495b4;box-shadow:0 0 0 3px #7495b41a;outline:none}.create-form input.full-width{grid-column:1/-1}.kvk-lookup-container{align-items:center;display:flex;gap:.5rem;grid-column:1/-1}.kvk-lookup-container input{flex:1 1}.kvk-lookup-container button{background:#7495b4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:12px 16px;transition:background .2s;white-space:nowrap}.kvk-lookup-container button:hover:not(:disabled){background:#374959}.kvk-lookup-container button:disabled{background:#555;cursor:not-allowed;opacity:.6}.create-form .error-message{color:#dc3545;font-size:.9rem;grid-column:1/-1;margin:-.5rem 0 0}.create-form button[type=submit]{background:#28a745;border:none;cursor:pointer;font-weight:700;grid-column:1/-1;transition:background .2s}.create-form button[type=submit]:hover:not(:disabled){background:#218838}.create-form button[type=submit]:disabled{background:#555;cursor:not-allowed;opacity:.6}.btn-view{background:#7495b4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:background .2s}.btn-view:hover{background:#374959}.btn-delete{background:#dc3545;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;padding:8px 16px;transition:background .2s}.btn-delete:hover{background:#a71d2a}@media (max-width:768px){.customer-info-grid{grid-template-columns:1fr}.customer-info-grid.enhanced-mobile-grid{gap:.7rem;grid-template-columns:1fr;margin-top:1rem}.customer-card{font-size:.98em;padding:.8rem .5rem}.customer-card-header h3{font-size:1.08em}.customer-card p,.customer-meta p{font-size:.97em}.customer-actions{align-items:stretch;flex-direction:column;gap:8px;margin-top:8px;width:100%}.customer-actions button{margin-bottom:6px;width:100%}.customer-actions button:last-child{margin-bottom:0}}.inline-contact-persons{background:#23252b;background:var(--background-card,#23252b);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:8px;margin:1rem 0;padding:1rem}.inline-contact-persons-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.inline-contact-persons-header label{color:#fff;color:var(--text-primary,#fff);font-weight:600}.btn-add-inline-contact{background:#6b8cae;background:var(--primary-color,#6b8cae);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.85rem;padding:.5rem 1rem;transition:background .2s}.btn-add-inline-contact:hover{background:#5a7a9a;background:var(--primary-hover,#5a7a9a)}.inline-contact-form{background:#2a2d35;background:var(--background-elevated,#2a2d35);border-radius:6px;margin-top:.5rem;padding:1rem}.inline-form-row{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;margin-bottom:.75rem}.inline-input{background:#23252b;background:var(--background-card,#23252b);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:6px;color:#fff;color:var(--text-primary,#fff);font-size:.9rem;padding:.5rem}.inline-input:focus{border-color:#6b8cae;border-color:var(--primary-color,#6b8cae);outline:none}.inline-checkbox{align-items:center;color:#d1d5db;color:var(--text-secondary,#d1d5db);display:flex;gap:.5rem}.inline-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.inline-form-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-add-inline,.btn-cancel-inline{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .2s}.btn-cancel-inline{background:#0000;border:1px solid #374151;border:1px solid var(--border-color,#374151);color:#d1d5db;color:var(--text-secondary,#d1d5db)}.btn-cancel-inline:hover{background:#2a2d35;background:var(--background-elevated,#2a2d35)}.btn-add-inline{background:#6b8cae;background:var(--primary-color,#6b8cae);color:#fff}.btn-add-inline:hover{background:#5a7a9a;background:var(--primary-hover,#5a7a9a)}.inline-contact-persons-list{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.inline-contact-person-item{align-items:flex-start;background:#2a2d35;background:var(--background-elevated,#2a2d35);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:6px;display:flex;justify-content:space-between;padding:.75rem;transition:border-color .2s}.inline-contact-person-item:hover{border-color:#6b8cae;border-color:var(--primary-color,#6b8cae)}.inline-contact-person-info{flex:1 1}.inline-contact-person-info strong{color:#fff;color:var(--text-primary,#fff);font-size:.95rem}.primary-badge-small{font-size:.8rem;margin-left:.25rem}.position-small{color:#d1d5db;color:var(--text-secondary,#d1d5db);font-size:.85rem}.contact-detail-small{font-size:.8rem;margin-top:.25rem}.btn-remove-inline,.contact-detail-small{color:#9ca3af;color:var(--text-muted,#9ca3af)}.btn-remove-inline{background:#0000;border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:4px;cursor:pointer;font-size:1rem;padding:.25rem .5rem;transition:all .2s}.btn-remove-inline:hover{background:#ef4444;background:var(--error-color,#ef4444);border-color:#ef4444;border-color:var(--error-color,#ef4444);color:#fff}@media (max-width:768px){.inline-form-row{grid-template-columns:1fr}.inline-contact-persons-header{align-items:flex-start;flex-direction:column;gap:.5rem}.btn-add-inline-contact{width:100%}}.customer-detail-modern{animation:fadeIn .3s ease-in;margin:0 auto;max-width:1400px;padding:var(--space-6)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.customer-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4)}.customer-header h2{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-3xl);font-weight:var(--font-bold);gap:var(--space-3);margin:0}.customer-name-edit{flex:1 1;max-width:600px}.customer-name-input{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-2xl);font-weight:var(--font-bold);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.customer-name-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.customer-header-actions{display:flex;flex-shrink:0;gap:var(--space-3)}.tabs-container{-webkit-overflow-scrolling:touch;border-bottom:2px solid var(--border-color);display:flex;gap:var(--space-2);margin-bottom:var(--space-6);overflow-x:auto}.desktop-tabs{display:flex}.mobile-tabs{display:none}.tab{align-items:center;background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-2);line-height:1.5;padding:var(--space-3) var(--space-4);transition:all var(--transition-base);white-space:nowrap}.tab:hover{background:#6b8cae0d;color:var(--text-primary)}.tab.active{border-bottom-color:var(--primary-color);color:var(--primary-color)}.tab-count{font-size:var(--text-sm);font-weight:var(--font-normal);opacity:.7}.tab-selector{-webkit-appearance:none;appearance:none;background:var(--background-card);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Cpath fill='%236B8CAE' d='M8 11 3 6h10z'/%3E%3C/svg%3E");background-position:right var(--space-4) center;background-repeat:no-repeat;border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;font-size:var(--text-lg);font-weight:var(--font-semibold);margin-bottom:var(--space-5);padding:var(--space-4);padding-right:var(--space-12);transition:all var(--transition-base);width:100%}.tab-selector:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.tab-selector option{font-size:var(--text-base);padding:var(--space-3)}.tab-content{animation:tabFadeIn .3s ease-in}@keyframes tabFadeIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.info-grid{grid-gap:var(--space-6);display:grid;gap:var(--space-6)}.info-card{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-6)}.info-card h3{align-items:center;border-bottom:2px solid var(--border-color);color:var(--text-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2);margin:0 0 var(--space-5) 0;padding-bottom:var(--space-3)}.info-rows{display:flex;flex-direction:column;gap:var(--space-4)}.info-row{grid-gap:var(--space-4);align-items:center;border-bottom:1px solid var(--border-color);display:grid;gap:var(--space-4);grid-template-columns:200px 1fr;padding:var(--space-3) 0}.info-row:last-child{border-bottom:none}.info-row label{color:var(--text-secondary);font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.info-row .info-value{color:var(--text-primary);font-size:var(--text-base);word-break:break-word}.info-row .info-value a{color:var(--primary-color);text-decoration:none;transition:color var(--transition-base)}.info-row .info-value a:hover{color:var(--primary-hover);text-decoration:underline}.info-row .form-input{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.info-row .form-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.projects-section{gap:var(--space-6)}.projects-group,.projects-section{display:flex;flex-direction:column}.projects-group{gap:var(--space-4)}.projects-group h3{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-xl);font-weight:var(--font-bold);gap:var(--space-2);margin:0}.projects-grid{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.project-mini-card{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);color:inherit;cursor:pointer;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5);text-decoration:none;transition:all var(--transition-base)}.project-mini-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-4px)}.project-mini-card.archived{opacity:.7}.project-mini-header{align-items:flex-start;display:flex;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-2)}.project-mini-header h4{color:var(--text-primary);flex:1 1;font-size:var(--text-lg);font-weight:var(--font-bold);margin:0}.status-badge{white-space:nowrap}.status-badge.status-active{background:#10b98126;border:1px solid var(--success-color);color:var(--success-color)}.status-badge.status-archived{background:#6b8cae26;border:1px solid var(--border-color);color:var(--text-secondary)}.project-dates,.project-location{align-items:center;color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);margin:0}.location-section{display:flex;flex-direction:column;gap:var(--space-4)}.map-container{border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);height:500px;overflow:hidden;width:100%}@media (max-width:1024px){.customer-detail-modern{padding:var(--space-5)}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.customer-detail-modern{padding:var(--space-4)}.customer-header{align-items:flex-start;flex-direction:column;gap:var(--space-4)}.customer-header h2{font-size:var(--text-2xl)}.customer-name-input{font-size:var(--text-xl)}.desktop-tabs{display:none!important}.mobile-tabs{display:block}.customer-header-actions{flex-direction:column;width:100%}.customer-header-actions .btn{justify-content:center;width:100%}.tabs-container{border-bottom:1px solid var(--border-color);gap:var(--space-1);margin-bottom:var(--space-5)}.tab{flex:1 1;font-size:var(--text-base);font-weight:var(--font-bold);justify-content:center;min-width:0;padding:var(--space-4) var(--space-2)}.tab-count{display:block;font-size:var(--text-xs)}.tab span[aria-hidden=true]{display:none}.info-card{padding:var(--space-4)}.info-row{gap:var(--space-2);grid-template-columns:1fr;padding:var(--space-3) 0}.info-row label{font-size:.75rem}.projects-grid{grid-template-columns:1fr}.map-container{height:350px}}@media (max-width:480px){.customer-detail-modern{padding:var(--space-3)}.customer-header h2{font-size:var(--text-xl)}.info-card h3{font-size:var(--text-lg)}.tab{flex-direction:column;font-size:var(--text-sm);gap:0;line-height:1.3;padding:var(--space-3) var(--space-1)}.tab-count{font-size:.65rem;margin-top:2px}.map-container{height:300px}}.contact-person-manager{background:#2a2d35;background:var(--background-elevated,#2a2d35);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:12px;border-radius:var(--radius-md,12px);margin:2rem 0;padding:1.5rem}.contact-person-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.contact-person-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.25rem;margin:0}.btn-add-contact-person{background:#6b8cae;background:var(--primary-color,#6b8cae);border:none;border-radius:8px;border-radius:var(--radius-sm,8px);color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background .2s}.btn-add-contact-person:hover{background:#5a7a9a;background:var(--primary-hover,#5a7a9a)}.contact-person-form{background:#23252b;background:var(--background-card,#23252b);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:8px;border-radius:var(--radius-sm,8px);margin-bottom:1.5rem;padding:1.5rem}.form-row{margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{color:#d1d5db;color:var(--text-secondary,#d1d5db);font-size:.9rem}.form-group input[type=email],.form-group input[type=tel],.form-group input[type=text]{background:#2a2d35;background:var(--background-elevated,#2a2d35);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:8px;border-radius:var(--radius-sm,8px);color:#fff;color:var(--text-primary,#fff);font-size:1rem;padding:.75rem}.form-group input:focus{border-color:#6b8cae;border-color:var(--primary-color,#6b8cae);outline:none}.form-group-checkbox{margin:1rem 0}.form-group-checkbox label{align-items:center;color:#d1d5db;color:var(--text-secondary,#d1d5db);cursor:pointer;display:flex;gap:.5rem}.form-group-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:1.5rem}.btn-primary,.btn-secondary{border-radius:8px;border-radius:var(--radius-sm,8px);font-size:1rem;padding:.75rem 1.5rem;transition:all .2s}.btn-primary{background:#6b8cae;background:var(--primary-color,#6b8cae)}.btn-primary:hover{background:#5a7a9a;background:var(--primary-hover,#5a7a9a)}.btn-secondary{background:#0000;border:1px solid #374151;border:1px solid var(--border-color,#374151);color:#d1d5db;color:var(--text-secondary,#d1d5db)}.btn-secondary:hover{background:#2a2d35;background:var(--background-elevated,#2a2d35)}.contact-persons-list{grid-gap:1rem;display:grid;gap:1rem}.contact-person-card{align-items:flex-start;background:#23252b;background:var(--background-card,#23252b);border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:8px;border-radius:var(--radius-sm,8px);display:flex;justify-content:space-between;padding:1rem;transition:border-color .2s}.contact-person-card:hover{border-color:#6b8cae;border-color:var(--primary-color,#6b8cae)}.contact-person-info{flex:1 1}.contact-person-name{align-items:center;color:#fff;color:var(--text-primary,#fff);display:flex;font-size:1.1rem;font-weight:600;gap:.5rem;margin-bottom:.25rem}.primary-badge{background:#6b8cae;background:var(--primary-color,#6b8cae);border-radius:4px;color:#fff;display:inline-block;font-size:.7rem;font-weight:500;padding:.25rem .5rem}.contact-person-position{color:#9ca3af;color:var(--text-muted,#9ca3af);font-size:.9rem;margin-bottom:.5rem}.contact-person-detail{color:#d1d5db;color:var(--text-secondary,#d1d5db);font-size:.9rem;margin:.25rem 0}.contact-person-detail a{color:#6b8cae;color:var(--primary-color,#6b8cae);text-decoration:none}.contact-person-detail a:hover{text-decoration:underline}.contact-person-actions{display:flex;gap:.5rem}.btn-delete,.btn-edit{background:#0000;border:1px solid #374151;border:1px solid var(--border-color,#374151);border-radius:8px;border-radius:var(--radius-sm,8px);cursor:pointer;font-size:1rem;padding:.5rem;transition:all .2s}.btn-edit:hover{background:#6b8cae;background:var(--primary-color,#6b8cae);border-color:#6b8cae;border-color:var(--primary-color,#6b8cae)}.btn-delete:hover{background:#ef4444;background:var(--error-color,#ef4444);border-color:#ef4444;border-color:var(--error-color,#ef4444)}.no-contact-persons{color:#9ca3af;color:var(--text-muted,#9ca3af);font-style:italic;padding:2rem;text-align:center}@media (max-width:768px){.form-row{grid-template-columns:1fr}.contact-person-header{align-items:flex-start;flex-direction:column;gap:1rem}.btn-add-contact-person{width:100%}.contact-person-card{flex-direction:column;gap:1rem}.contact-person-actions{justify-content:flex-end;width:100%}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}.agenda-container{margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.agenda-header{margin-bottom:2rem;text-align:center}.agenda-header h1{color:var(--text-primary);font-size:2.5rem;font-weight:800;margin-bottom:.5rem}.agenda-subtitle{color:var(--text-secondary);font-size:1.125rem}.agenda-controls{align-items:center;background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem;padding:1.5rem}.agenda-navigation{display:flex;gap:.5rem}.btn-nav,.btn-today{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all var(--transition-base)}.btn-nav:hover,.btn-today:hover{transform:translateY(-2px)}.btn-nav:hover,.btn-today,.btn-today:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-today:hover{background:var(--primary-hover)}.agenda-month-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0;text-transform:capitalize}.agenda-view-toggle{display:flex;gap:.5rem}.btn-view-mode{align-items:center;background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;display:inline-flex;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all var(--transition-base)}.view-mode-icon{display:none;font-size:1.25rem}.view-mode-text{display:inline}@media (max-width:768px){.btn-view-mode{min-width:44px;padding:.625rem 1rem}.view-mode-icon{display:inline}.view-mode-text{display:none}}.btn-view-mode.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.btn-view-mode:hover:not(.active){border-color:var(--primary-color);color:var(--primary-color)}.calendar-header{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:repeat(7,1fr);margin-bottom:.5rem;max-width:100%;width:100%}.calendar-day-name{background:var(--background-card);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:700;letter-spacing:.05em;min-width:0;padding:1rem;text-align:center;text-transform:uppercase}.calendar-grid{grid-gap:.75rem;background:var(--background-elevated);border-radius:var(--radius-md);display:grid;gap:.75rem;grid-template-columns:repeat(7,1fr);max-width:100%;overflow:visible;padding:1rem;width:100%}.calendar-day,.calendar-grid{border:1px solid var(--border-color)}.calendar-day{background:var(--background-card);border-radius:var(--radius-sm);box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;min-height:120px;min-width:0;overflow:hidden;padding:.5rem;position:relative;transition:all var(--transition-base)}.calendar-day.expanded{border:2px solid var(--primary-color);box-shadow:var(--shadow-lg);grid-row:span 3;max-height:450px;min-height:350px;overflow-x:hidden;overflow-y:auto;position:relative;z-index:10}.calendar-day:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.calendar-day.other-month{opacity:.4}.calendar-day.today{background:linear-gradient(135deg,#6b8cae1a,#6b8cae0d);border:2px solid var(--primary-color)}.calendar-day-number{color:var(--text-primary);flex-shrink:0;font-size:1rem;justify-content:space-between;margin-bottom:.5rem}.calendar-day-count,.calendar-day-number{align-items:center;display:flex;font-weight:700}.calendar-day-count{background:var(--primary-color);border-radius:50%;color:#fff;font-size:.7rem;height:20px;justify-content:center;width:20px}.calendar-day.today .calendar-day-number{color:var(--primary-color)}.calendar-day-projects,.calendar-project-badge{box-sizing:border-box;overflow:hidden;width:100%}.calendar-project-badge{align-items:center;background:var(--primary-color);border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.7rem;font-weight:600;gap:.3rem;line-height:1.3;margin-bottom:.25rem;max-width:100%;padding:.4rem .5rem;text-overflow:ellipsis;transition:all var(--transition-base);white-space:nowrap}.calendar-project-badge .badge-icon{flex-shrink:0;font-size:.75rem}.calendar-project-badge .badge-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-project-badge:hover{box-shadow:0 2px 4px #0003;transform:scale(1.02)}.calendar-more-indicator{border:1px dashed var(--border-color);border-radius:3px;font-size:.625rem;margin-top:.125rem;padding:.25rem .375rem}.calendar-more-badge,.calendar-more-indicator{background:var(--background-elevated);color:var(--text-secondary);font-weight:600;text-align:center}.calendar-more-badge{border:1px solid var(--border-color);border-radius:4px;font-size:.7rem;padding:.25rem .5rem}.calendar-more-badge.clickable{cursor:pointer;transition:all var(--transition-base)}.calendar-more-badge.clickable:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.05)}.calendar-collapse-badge{background:var(--primary-color);border-radius:4px;color:#fff;cursor:pointer;font-size:.7rem;font-weight:600;margin-top:.25rem;padding:.25rem .5rem;text-align:center;transition:all var(--transition-base)}.calendar-collapse-badge:hover{background:var(--primary-hover);transform:scale(1.05)}.agenda-list-view{display:flex;flex-direction:column;gap:1rem}.agenda-list-item{align-items:center;background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:1.5rem;padding:1.5rem;position:relative;transition:all var(--transition-base)}.agenda-list-color-indicator{border-radius:var(--radius-md) 0 0 var(--radius-md);bottom:0;height:100%;left:0;position:absolute;top:0;width:6px}.agenda-list-item:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateX(4px)}.agenda-list-item.active{background:linear-gradient(135deg,#10b9810d,#10b98105);border-left:4px solid var(--success-color)}.agenda-list-item.past{opacity:.7}.agenda-list-item.future{border-left:4px solid var(--primary-color)}.agenda-list-item-dates{align-items:center;display:flex;flex-shrink:0;gap:1rem;margin-left:.5rem}.agenda-list-date-badge{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);min-width:60px;padding:.75rem;text-align:center}.date-day{color:var(--text-primary);font-size:1.5rem;font-weight:700;line-height:1}.date-month{color:var(--text-secondary);font-size:.75rem;margin-top:.25rem;text-transform:uppercase}.agenda-list-arrow{color:var(--text-secondary);font-size:1.5rem}.agenda-list-item-content{flex:1 1;min-width:0}.agenda-list-item-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.agenda-list-item-details{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.5rem}.detail-item{align-items:center;color:var(--text-secondary);display:flex;font-size:.875rem;gap:.25rem}.agenda-list-item-profit{margin-top:.5rem}.profit-badge{border-radius:12px;font-size:.875rem;font-weight:700;padding:.375rem .75rem}.profit-badge.positive{background:#10b98126;border:1px solid var(--success-color);color:var(--success-color)}.profit-badge.negative{background:#ef444426;border:1px solid var(--error-color);color:var(--error-color)}.agenda-list-item-status{flex-shrink:0}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-bold);justify-content:center;letter-spacing:.05em;line-height:1;padding:.375rem .75rem;text-transform:uppercase}.status-badge.active-badge{background:var(--success-color);color:#fff}.status-badge.past-badge{background:var(--background-elevated);border:1px solid var(--border-color);color:var(--text-secondary)}.status-badge.future-badge{background:var(--primary-color);color:#fff}.financial-overview{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:2rem;padding:1.5rem}.financial-overview h2{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin-bottom:1.5rem}.quarter-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quarter-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;gap:.75rem;margin-bottom:1rem;padding-bottom:1rem}.quarter-icon{font-size:1.5rem}.quarter-title{color:var(--text-primary);font-size:1.25rem;font-weight:700}.stat-row{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.stat-label{font-size:.875rem;font-weight:500}.stat-value{font-size:1rem}.stat-value.positive{color:var(--success-color)}.stat-value.negative{color:var(--error-color)}.stat-row.total{border-top:2px solid var(--border-color);margin-top:.5rem;padding-top:.75rem}.stat-row.total .stat-label{color:var(--text-primary);font-weight:700}.stat-row.total .stat-value{font-size:1.25rem}.stat-row.vat-reserve{background:#6b8cae1a;border-radius:var(--radius-sm);margin-top:.5rem;padding:.75rem}.stat-row.vat-reserve .stat-label{color:var(--primary-color);font-weight:600}.stat-row.vat-reserve .stat-value{color:var(--primary-color);font-size:1.1rem}@media (max-width:768px){.agenda-container{padding:1rem .5rem}.agenda-header h1{font-size:2rem}.agenda-controls{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.agenda-navigation,.agenda-view-toggle{justify-content:center;width:100%}.btn-nav,.btn-today,.btn-view-mode{flex:1 1;font-size:.875rem;padding:.6rem 1rem}.agenda-month-title{font-size:1.5rem;text-align:center}.agenda-filters{flex-direction:column;gap:.75rem;padding:1rem}.filter-group{min-width:auto;width:100%}.btn-clear-filters{align-self:stretch;width:100%}.financial-summary{padding:1rem}.financial-summary-header{align-items:flex-start;flex-direction:column;gap:.75rem}.financial-summary-header h3{font-size:1.125rem}.financial-period{font-size:.8125rem}.financial-stats{gap:.75rem;grid-template-columns:repeat(2,1fr)}.financial-stat{padding:.75rem}.stat-label{font-size:.7rem}.stat-value{font-size:1.125rem}.financial-note{padding:.625rem .75rem}.financial-note small{font-size:.8125rem}.calendar-grid{gap:.4rem;padding:.5rem}.calendar-day{min-height:90px;padding:.35rem}.calendar-day.expanded{grid-row:auto;left:50%;max-height:85vh;max-width:500px;min-height:70vh;overflow-y:auto;padding:1rem;position:fixed;top:50%;transform:translate(-50%,-50%);width:92vw;z-index:1000}.calendar-day.expanded:before{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0009;bottom:0;content:"";left:0;position:fixed;right:0;top:0;z-index:-1}.calendar-day-number{font-size:.85rem}.calendar-day-count{font-size:.65rem;height:18px;width:18px}.calendar-project-badge{font-size:.65rem;padding:.3rem .35rem}.calendar-project-badge .badge-icon{font-size:.75rem}.calendar-assignment-badge{font-size:.65rem;padding:.3rem .35rem}.assignment-icon{font-size:.7rem}.calendar-more-indicator{font-size:.65rem;padding:.25rem .35rem}.calendar-day.expanded .calendar-assignment-badge,.calendar-day.expanded .calendar-project-badge{font-size:.8rem;padding:.5rem .6rem}.calendar-collapse-btn{background:var(--primary-color);border:none;border-radius:var(--radius-sm);color:#fff;font-size:.8rem;font-weight:700;margin-top:.75rem;padding:.6rem;width:100%}.quarters-grid{grid-template-columns:1fr}.quarter-card{padding:1rem}}@media (max-width:480px){.agenda-header h1{font-size:1.75rem}.financial-stats{grid-template-columns:1fr}.financial-stat{padding:.625rem}.stat-value{font-size:1rem}.calendar-day{min-height:80px;padding:.3rem}.calendar-day-number{font-size:.8rem;margin-bottom:.2rem}.calendar-assignment-badge,.calendar-project-badge{font-size:.6rem;margin-bottom:.2rem;padding:.25rem .3rem}.assignment-icon,.calendar-project-badge .badge-icon{font-size:.65rem}.calendar-more-indicator{font-size:.6rem;padding:.2rem .3rem}.btn-nav,.btn-today,.btn-view-mode{font-size:.8rem;padding:.5rem .75rem}}.agenda-filters{align-items:flex-end;border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:1rem;padding:1.25rem}.agenda-filters,.quarterly-overview{background:var(--background-card);margin-bottom:2rem}.quarterly-overview{border:2px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:2rem}.quarterly-overview:hover{border-color:#6b8cae4d;box-shadow:var(--shadow-lg)}.quarterly-overview-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.quarterly-overview-header h2{align-items:center;color:var(--text-primary);display:flex;font-size:1.75rem;font-weight:700;gap:.5rem;margin:0}.year-total-badge{background:var(--background-elevated);border:2px solid var(--primary-color);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--primary-color);font-size:1rem;font-weight:700;padding:.75rem 1.5rem}.quarters-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:2rem}.quarter-card{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;padding:1.5rem;position:relative}.quarter-card,.quarter-card:before{transition:all var(--transition-base)}.quarter-card:before{background:var(--border-color);content:"";height:100%;left:0;position:absolute;top:0;width:4px}.quarter-card.current-quarter{border-color:var(--primary-color);box-shadow:var(--shadow-md)}.quarter-card.current-quarter:before{background:var(--primary-color);width:6px}.quarter-card.empty-quarter{opacity:.6}.quarter-card:hover:not(.empty-quarter){border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.quarter-card-header{border-bottom:2px solid var(--border-color);margin-bottom:1.25rem;padding-bottom:1rem}.quarter-card-header h3{color:var(--primary-color);font-size:1.5rem;font-weight:700;margin:0 0 .5rem}.quarter-period{color:var(--text-secondary);font-size:.875rem;font-weight:600;text-transform:capitalize}.quarter-stats{display:flex;flex-direction:column;gap:.75rem}.quarter-stat-row{align-items:center;background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:.625rem .75rem}.quarter-stat-row.highlight{background:#6b8cae1a;border-color:#6b8cae4d}.quarter-stat-row.vat-row{background:#f59e0b1a;border-color:#f59e0b4d}.quarter-stat-row.profit-row{background:#10b9811a;border-color:#10b9814d}.quarter-stat-row .stat-label{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.quarter-stat-row .stat-value{color:var(--text-primary);font-size:.9375rem;font-weight:700}.quarter-stat-row.vat-row .stat-value{color:var(--warning-color)}.quarter-stat-row.profit-row .stat-value{color:var(--success-color)}.year-total-summary{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-md);margin-top:2rem;padding:1.5rem}.year-total-header{border-bottom:2px solid var(--border-color);margin-bottom:1.25rem;padding-bottom:1rem}.year-total-header h3{color:var(--text-primary);font-size:1.375rem;font-weight:700;margin:0}.year-total-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.year-stat{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all var(--transition-base)}.year-stat:hover{border-color:var(--primary-color);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.year-stat.highlight{background:#6b8cae1a;border-color:#6b8cae4d}.year-stat.vat{background:#f59e0b1a;border-color:#f59e0b4d}.year-stat.profit{background:#10b9811a;border-color:#10b9814d}.year-stat .stat-label{color:var(--text-secondary);font-size:.8125rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.year-stat .stat-value{color:var(--text-primary);font-size:1.375rem;font-weight:700}.year-stat.vat .stat-value{color:var(--warning-color)}.year-stat.profit .stat-value{color:var(--success-color)}.financial-note{background:var(--background-elevated);border-left:4px solid var(--warning-color);margin-top:1rem;padding:.875rem 1.25rem}.financial-note small{font-size:.9375rem;line-height:1.6}.financial-note strong{color:var(--warning-color)}.financial-summary{background:linear-gradient(135deg,var(--background-card) 0,var(--background-elevated) 100%);border:2px solid var(--primary-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin-bottom:2rem;padding:1.5rem}.financial-summary-header{align-items:center;border-bottom:2px solid var(--border-color);display:flex;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:1rem}.financial-summary-header h3{align-items:center;color:var(--text-primary);display:flex;font-size:1.25rem;font-weight:700;gap:.5rem;margin:0}.financial-period{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.875rem;font-weight:600;line-height:1.4;padding:.5rem 1rem;text-align:center;text-transform:capitalize}.financial-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:1rem}.financial-stat{background:var(--background-card);border:2px solid var(--border-color);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:.5rem;padding:1rem;transition:all var(--transition-base)}.financial-stat:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-2px)}.financial-stat.highlight{background:linear-gradient(135deg,#6b8cae1a,#6b8cae0d);border-color:var(--primary-color)}.financial-stat.vat{background:linear-gradient(135deg,#f59e0b1a,#f59e0b0d);border-color:#f59e0b}.financial-stat.profit{background:linear-gradient(135deg,#10b9811a,#10b9810d);border-color:var(--success-color)}.stat-label{color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.stat-value{color:var(--text-primary);font-size:1.25rem;font-weight:700}.vat-amount{color:#f59e0b}.financial-stat.profit .stat-value{color:var(--success-color)}.financial-note{background:#f59e0b1a;border-left:4px solid #f59e0b;border-radius:var(--radius-sm);color:var(--text-primary);padding:.75rem 1rem}.financial-note small{font-size:.875rem;line-height:1.5}.financial-note strong{color:#f59e0b}.filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:200px}.filter-group label{color:var(--text-primary);font-size:.875rem;font-weight:600}.filter-select{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-family:inherit;font-size:.9375rem;padding:.625rem .75rem;transition:all var(--transition-base)}.filter-select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.filter-select:disabled{background:var(--background-card);cursor:not-allowed;opacity:.6}.filter-checkbox{align-items:center;cursor:pointer;display:flex;gap:.5rem;-webkit-user-select:none;user-select:none}.filter-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.filter-checkbox span{color:var(--text-primary);font-size:.9375rem;font-weight:500}.btn-clear-filters{align-self:flex-end;background:var(--error-color);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.625rem 1.25rem;transition:all var(--transition-base)}.btn-clear-filters:hover{background:#dc2626;box-shadow:var(--shadow-md);transform:translateY(-1px)}.calendar-day-content{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-height:0}.calendar-day-assignments,.calendar-day-projects{display:flex;flex-direction:column;gap:.125rem}.calendar-day-assignments{margin-top:.25rem}.calendar-assignment-badge{align-items:center;background:var(--background-elevated);border-left:3px solid var(--primary-color);border-radius:4px;color:var(--text-primary);cursor:pointer;display:flex;font-size:.7rem;font-weight:600;gap:.3rem;line-height:1.3;margin-bottom:.25rem;max-width:100%;overflow:hidden;padding:.35rem .4rem;transition:all var(--transition-base)}.calendar-assignment-badge:hover{background:var(--primary-color);color:#fff;transform:scale(1.02)}.assignment-icon{flex-shrink:0;font-size:.7rem}.assignment-user{flex:1 1}.assignment-project-name,.assignment-user{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-project-name{color:var(--text-secondary);flex-shrink:1;font-size:.55rem}.calendar-day.expanded .calendar-assignment-badge{font-size:.7rem;padding:.3rem .4rem}.calendar-day.expanded .assignment-project-name{font-size:.65rem}.calendar-collapse-btn{background:var(--primary-color);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.65rem;font-weight:600;margin-top:.25rem;padding:.3rem .5rem;transition:all var(--transition-base)}.calendar-collapse-btn:hover{background:var(--primary-hover);transform:scale(1.02)}@media (max-width:768px){.agenda-container{padding:1rem}.agenda-container,.calendar-grid{-webkit-overflow-scrolling:touch;overflow-x:auto}.calendar-grid{min-width:100%}.agenda-header h1{font-size:1.75rem}.agenda-subtitle{font-size:.9rem}.agenda-controls{align-items:stretch;flex-direction:column;gap:1rem;padding:1rem}.agenda-navigation{justify-content:space-between;width:100%}.btn-nav,.btn-today{flex:1 1;font-size:.875rem;padding:.75rem 1rem}.agenda-month-title{font-size:1.25rem;text-align:center;width:100%}.agenda-view-toggle{justify-content:stretch;width:100%}.btn-view-mode{flex:1 1;font-size:.875rem;padding:.75rem 1rem}.btn-add-timesheet{justify-content:center;width:100%}.agenda-filters{flex-direction:column;gap:1rem;padding:1rem}.filter-group{width:100%}.filter-select{font-size:.9375rem;padding:.75rem;width:100%}.calendar-day{min-height:80px;padding:.5rem .25rem}.calendar-day-number{font-size:.9rem}.calendar-assignment-badge,.calendar-project-badge{font-size:.65rem;margin-bottom:.15rem;padding:.25rem .35rem}.assignment-project-name{font-size:.55rem}.financial-summary{padding:1rem}.financial-summary-grid{gap:.75rem;grid-template-columns:1fr}.financial-summary-item{padding:.75rem}.financial-summary-label{font-size:.75rem}.financial-summary-value{font-size:1.25rem}.quarterly-overview{padding:1rem}.quarters-grid{gap:1rem;grid-template-columns:1fr}.quarter-card{padding:1rem}.list-view-container{padding:.5rem}.list-view-item{padding:1rem}*{-webkit-overflow-scrolling:touch}.btn-nav,.btn-today,.btn-view-mode,.calendar-assignment-badge,.calendar-day,.calendar-project-badge,button{min-height:44px}.calendar-grid{scrollbar-color:var(--primary-color) var(--background-elevated);scrollbar-width:thin}.calendar-grid::-webkit-scrollbar{height:8px}.calendar-grid::-webkit-scrollbar-track{background:var(--background-elevated);border-radius:4px}.calendar-grid::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:4px}.calendar-grid::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}}@media (max-width:480px){.agenda-container{padding:.5rem}.agenda-header h1{font-size:1.5rem}.btn-nav,.btn-today{font-size:.8125rem;padding:.625rem .75rem}.calendar-day{font-size:.75rem;min-height:70px}.calendar-day-number{font-size:.8rem}.calendar-assignment-badge,.calendar-project-badge{font-size:.6rem;padding:.2rem .3rem}.agenda-list-item{align-items:flex-start;flex-direction:column;gap:1rem;padding:1rem}.agenda-list-item-dates{border-bottom:1px solid var(--border-color);justify-content:center;margin-left:0;padding:.5rem 0;width:100%}.agenda-list-date-badge{min-width:50px;padding:.5rem}.date-day{font-size:1.25rem}.date-month{font-size:.625rem}.agenda-list-arrow{font-size:1.25rem}.agenda-list-item-title{font-size:1.125rem}.agenda-list-item-details{flex-direction:column;gap:.5rem}.agenda-list-item-status{border-top:1px solid var(--border-color);display:flex;justify-content:center;padding-top:.5rem;width:100%}.status-badge{font-size:.75rem;padding:.375rem .875rem}.agenda-list-item:hover{transform:translateX(0);transform:translateY(-2px)}}.assignment-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.assignment-modal-compact{animation:modalSlideIn .3s ease-out;background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 20px 60px #0000004d;max-height:90vh;max-width:480px;overflow-y:auto;width:90%}.assignment-modal-body{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5)}.form-group-compact{display:flex;flex-direction:column;gap:var(--space-2)}.form-label-compact{align-items:center;color:var(--text-primary);display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2)}.optional-label{color:var(--text-secondary);font-size:var(--text-xs);font-style:italic;font-weight:var(--font-normal)}.form-input-compact{background:var(--background-elevated);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--text-base);padding:var(--space-3) var(--space-4);transition:all var(--transition-base);width:100%}.form-input-compact:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.form-input-compact:disabled{cursor:not-allowed;opacity:.5}.form-row-compact{grid-gap:var(--space-4);display:grid;gap:var(--space-4);grid-template-columns:1fr 1fr}.form-error-compact{background:#ef44441a;border-left:3px solid var(--error-color);border-radius:var(--radius-sm);color:var(--error-color);font-size:var(--text-sm);padding:var(--space-3) var(--space-4)}.modal-actions-compact{display:flex;gap:var(--space-3);margin-top:var(--space-2)}.modal-actions-compact .btn{flex:1 1;justify-content:center}@media (max-width:480px){.assignment-modal-compact{max-width:95%;width:95%}.assignment-modal-body{gap:var(--space-3);padding:var(--space-4)}.form-row-compact{gap:var(--space-3);grid-template-columns:1fr}.modal-actions-compact{flex-direction:column-reverse}.modal-actions-compact .btn{width:100%}}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{box-shadow:var(--shadow-xl);max-width:550px}.assignment-modal,.modal-content{background:var(--background-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%}.assignment-modal{animation:modalSlideIn .3s ease-out;box-shadow:0 20px 60px #0000004d;max-width:520px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.assignment-modal-header{align-items:center;background:var(--background-elevated);border-bottom:1px solid var(--border-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.assignment-modal-header h2{color:var(--text-primary);font-size:1.25rem;font-weight:600;margin:0}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:1.5rem}.modal-header h2{color:var(--text-primary);font-size:1.5rem;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:all var(--transition-base);width:40px}.modal-close:hover{background:var(--background-elevated);color:var(--error-color)}.modal-close-btn{align-items:center;background:none;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:2rem;height:40px;justify-content:center;padding:0;transition:all var(--transition-base);width:40px}.modal-close-btn:hover{background:var(--background-elevated);color:var(--error-color)}.modal-body{padding:1.5rem}.assignment-project-info{background:var(--background-elevated);border-left:4px solid var(--primary-color);border-radius:var(--radius-sm);margin-bottom:1.5rem;padding:1rem}.assignment-error,.error-message{background:#ef44441a;border:1px solid var(--error-color);border-radius:var(--radius-sm);color:var(--error-color);font-weight:600;margin-bottom:1rem;padding:1rem}.assignment-form{padding:1.5rem}.form-group{margin-bottom:1rem}.form-group label{color:var(--text-primary);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:.9375rem;padding:.625rem .75rem;transition:all var(--transition-base);width:100%}.form-group select:focus,.form-group textarea:focus{background:var(--background-card);border-color:var(--primary-color);box-shadow:0 0 0 3px #6b8cae1a;outline:none}.form-group select.select-empty{background:linear-gradient(135deg,#f59e0b14,#f59e0b08);border-color:#f59e0b}.form-group select.select-empty:focus{border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b26}.form-group select option:disabled{color:#f59e0b;font-style:italic;font-weight:600}.form-group textarea{min-height:70px;resize:vertical}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.modal-footer{gap:1rem;margin-top:2rem;padding-top:1rem}.assignment-modal-actions,.modal-footer{border-top:1px solid var(--border-color);display:flex;justify-content:flex-end}.assignment-modal-actions{gap:.75rem;margin-top:1.5rem;padding-top:1.25rem}.btn-primary,.btn-secondary{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.9375rem;font-weight:600;padding:.625rem 1.25rem;transition:all var(--transition-base)}.btn-primary{background:var(--primary-color);color:#fff}.btn-primary:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:var(--background-elevated);border:2px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--primary-color);color:var(--primary-color)}.btn-cancel{background:var(--background-elevated);border:2px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;font-size:.9375rem;font-weight:600;padding:.625rem 1.25rem;transition:all var(--transition-base)}.btn-cancel:hover{border-color:var(--error-color);color:var(--error-color)}.btn-save{background:var(--primary-color);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.625rem 1.5rem;transition:all var(--transition-base)}.btn-save:hover{background:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-cancel:disabled,.btn-save:disabled{cursor:not-allowed;opacity:.5}.required{color:var(--error-color);font-weight:700;margin-left:.25rem}@media (max-width:768px){.modal-content{max-height:95vh;width:95%}.modal-body,.modal-header{padding:1rem}.form-row{grid-template-columns:1fr}.modal-footer{flex-direction:column}.btn-primary,.btn-secondary{width:100%}}
/*# sourceMappingURL=main.1a3c1fd8.css.map*/