:root{--sat: env(safe-area-inset-top, 0px);--sar: env(safe-area-inset-right, 0px);--sab: env(safe-area-inset-bottom, 0px);--sal: env(safe-area-inset-left, 0px);--touch-target-min: 44px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;color:#1f2937;line-height:1.6;background-color:#f9fafb;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:contain}html,body{overscroll-behavior:none}h1,h2,h3,h4,h5,h6{font-family:Plus Jakarta Sans,sans-serif;font-weight:700;color:#111827;line-height:1.3}h1{font-size:clamp(1.5rem,4vw,2rem)}h2{font-size:clamp(1.25rem,3vw,1.5rem)}h3{font-size:clamp(1.125rem,2.5vw,1.25rem)}a{color:inherit;text-decoration:none;touch-action:manipulation}.btn-primary{background:#111827;color:#fff;border:none;padding:12px 24px;border-radius:6px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--touch-target-min);touch-action:manipulation}.btn-primary:hover{background:#374151}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:transparent;color:#374151;border:1px solid #d1d5db;padding:12px 24px;border-radius:6px;font-weight:600;font-size:15px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--touch-target-min);touch-action:manipulation}.btn-secondary:hover{border-color:#111827;color:#111827}.btn-secondary:active{transform:scale(.98)}.btn-ghost{background:transparent;color:#6b7280;border:none;padding:8px 16px;border-radius:6px;font-weight:500;font-size:14px;cursor:pointer;transition:all .2s ease;min-height:var(--touch-target-min);touch-action:manipulation}.btn-ghost:hover{background:#f3f4f6;color:#111827}.card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:24px;transition:border-color .2s ease}.card:hover{border-color:#d1d5db}.input{padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;width:100%;transition:border-color .2s ease;min-height:var(--touch-target-min)}.input:focus{outline:none;border-color:#111827}.input::placeholder{color:#9ca3af}.label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-md)}.page{padding:var(--spacing-md) 0}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);gap:var(--spacing-md);flex-wrap:wrap}.page-title{font-size:clamp(1.25rem,4vw,1.5rem);font-weight:700;color:#111827}.ant-form-horizontal .ant-form-item-row{align-items:center!important}.ant-form-horizontal .ant-form-item-label{padding-bottom:0!important}.ant-form-item-label{text-align:left!important}.ant-form-item-label>label{justify-content:flex-start!important}.ant-form-horizontal .ant-form-item-label>label{height:40px!important;display:flex!important;align-items:center!important}.ant-table{border-radius:12px!important;overflow:hidden}.ant-table-thead>tr>th{background:#f9fafb!important;font-weight:600!important;font-size:12px!important;letter-spacing:.03em!important;text-transform:uppercase!important;color:#6b7280!important;border-bottom:1px solid #e5e7eb!important;padding:12px 16px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ant-table-tbody>tr>td{border-bottom:1px solid #f3f4f6!important;padding:14px 16px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}.ant-table-tbody>tr:hover>td{background:#f8fafc!important}.ant-table-tbody>tr{transition:background .15s ease!important}.compact-table .ant-table-thead>tr>th{padding:10px 12px!important;min-height:auto!important}.compact-table .ant-table-tbody>tr>td{padding:8px 12px!important;min-height:auto!important}.compact-table .ant-input,.compact-table .ant-input-number,.compact-table .ant-input-number-input,.compact-table .ant-select-selector,.estimate-compact-table .ant-input,.estimate-compact-table .ant-input-number,.estimate-compact-table .ant-input-number-input,.estimate-compact-table .ant-select-selector,.ant-table-small .ant-input,.ant-table-small .ant-input-number,.ant-table-small .ant-input-number-input,.ant-table-small .ant-select-selector{font-size:13px!important;height:28px!important}.estimate-compact-table .ant-input-number-input,.ant-table-small .ant-input-number-input{height:26px!important}.ant-input-number-focused .ant-input-number-input{padding-inline-end:26px!important}.ant-input-number-affix-wrapper-focused .ant-input-number-suffix{margin-inline-end:26px!important}.ant-modal-content{border-radius:14px!important;box-shadow:0 16px 40px #0000001f,0 4px 12px #0000000f!important}.ant-modal-header{border-bottom:1px solid #f3f4f6!important;padding:20px 24px 16px!important}.ant-modal-title{font-family:Plus Jakarta Sans,sans-serif!important;font-weight:700!important;font-size:17px!important}.ant-modal-footer{border-top:1px solid #f3f4f6!important;padding:12px 24px 16px!important}.ant-tag{border-radius:6px!important;font-weight:500!important;font-size:12px!important;padding:2px 8px!important;line-height:20px!important}.ant-input,.ant-input-number-input,.ant-select-selector,.ant-input-number{font-size:14px!important;font-family:inherit!important}.ant-picker{font-size:14px!important}.ant-picker-input>input{font-size:14px!important}.ant-input,.ant-input-affix-wrapper,.ant-select-selector,.ant-input-number,.ant-picker{height:36px!important}.ant-input-affix-wrapper>.ant-input{height:auto!important}.ant-input-number-input{height:34px!important}.ant-input-number-sm,.ant-input-sm,.ant-input-affix-wrapper-sm,.ant-select-sm .ant-select-selector,.ant-picker-small{height:32px!important}.ant-input-number-sm .ant-input-number-input{height:30px!important}.ant-form-item-label>label{font-size:14px!important}.ant-btn{touch-action:manipulation}.ant-menu-item{min-height:var(--touch-target-min)!important;line-height:var(--touch-target-min)!important}.ant-menu-item-selected{background-color:#111827!important;color:#fff!important}.ant-menu-item-selected .anticon,.ant-menu-item-selected .ant-menu-title-content{color:#fff!important}.ant-select-item-option-selected:not(.ant-select-item-option-disabled){background-color:#eff6ff!important;color:#111827!important;font-weight:600!important}.ant-select-item-option-active:not(.ant-select-item-option-disabled){background-color:#f3f4f6!important;color:#111827!important}.ant-dropdown-menu-item{padding:12px 16px!important;min-height:var(--touch-target-min)!important;line-height:1.5!important}.ant-dropdown-menu-item-divider{margin:8px 0!important}.ant-tabs-nav{min-height:56px!important}.ant-tabs-tab{padding:16px 0!important;min-height:56px!important}.ant-tabs-nav-operations{padding:0 20px!important}.ant-tabs-nav-more{width:auto!important;min-width:32px!important;padding:0 8px!important}.ant-tabs-dropdown-menu-item{padding:12px 16px!important;min-height:44px!important;line-height:1.5!important;display:flex!important;align-items:center!important}.status-draft{background:#f3f4f6;color:#6b7280}.status-sent{background:#eff6ff;color:#2563eb}.status-approved,.status-paid{background:#ecfdf5;color:#059669}.status-declined,.status-overdue{background:#fef2f2;color:#dc2626}.status-partial{background:#fffbeb;color:#d97706}.status-viewed{background:#f5f3ff;color:#7c3aed}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .2s ease}.animate-slide-up{animation:slideUp .3s ease}@keyframes resultReveal{0%{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-result-reveal{animation:resultReveal .4s cubic-bezier(.16,1,.3,1) both}.pai-item-row{transition:background-color .12s ease}.pai-item-row:nth-child(2n){background:#fafbfc}.pai-item-row:hover{background:#f3f4f6}.desktop-only{display:block}.mobile-only{display:none}.stack-mobile{display:flex;gap:var(--spacing-md)}.full-width-mobile{width:auto}@media (max-width: 767px){:root{--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px}html,body{overflow-x:hidden!important}.page{padding:var(--spacing-md) 0}.page-header{flex-direction:column;align-items:stretch;gap:var(--spacing-sm)}.desktop-only{display:none!important}.mobile-only{display:block!important}.stack-mobile{flex-direction:column}.full-width-mobile{width:100%!important}.card{padding:var(--spacing-md);border-radius:8px}.btn-primary-mobile-full{width:100%}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 calc(-1 * var(--spacing-md));padding:0 var(--spacing-md)}.ant-input,.ant-input-number-input,.ant-select-selector,.ant-input-number,.ant-picker,.ant-picker-input>input{font-size:16px!important}.ant-table{font-size:13px!important}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:16px 8px!important;min-height:56px!important}.ant-modal{max-width:calc(100vw - 32px)!important;margin:16px!important;padding-bottom:0!important}.ant-modal-content{border-radius:12px!important;max-height:calc(100vh - 32px)!important;display:flex!important;flex-direction:column!important}.ant-modal-body{flex:1!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important}.ant-modal-footer{flex-shrink:0!important;padding:12px 24px!important;padding-bottom:calc(12px + var(--sab))!important;border-top:1px solid #e5e7eb!important;display:flex!important;gap:8px!important}.ant-modal-footer .ant-btn{flex:1!important;margin:0!important}.ant-modal-footer>div{flex:1!important;display:flex!important;flex-wrap:wrap!important;gap:8px!important}.ant-modal-footer>div .ant-btn{flex:1!important;min-width:0!important;margin:0!important}.ant-form-item{margin-bottom:16px!important}.ant-modal .ant-input,.ant-modal .ant-input-number,.ant-modal .ant-select-selector,.ant-modal .ant-input-affix-wrapper,.ant-modal .ant-picker{height:36px!important}.ant-modal .ant-input-number-input{height:34px!important}.ant-modal .ant-input-textarea textarea{min-height:80px!important;height:auto!important}.ant-modal .ant-switch{min-width:44px!important;min-height:26px!important}.ant-modal .ant-form-item-label>label{font-size:14px!important}.ant-modal-header{padding:14px 24px!important}.ant-modal-title{font-size:16px!important;line-height:1.4!important}.ant-modal-close{top:10px!important;right:10px!important}.ant-drawer-content-wrapper{max-width:85vw!important}}@media (min-width: 768px) and (max-width: 1023px){.container{padding:0 var(--spacing-lg)}}@media (min-width: 1024px){.page{padding:var(--spacing-xl) 0}}@media (min-width: 1280px){.container{max-width:1400px}}.mobile-card-view{display:none}@media (max-width: 767px){.mobile-card-view{display:block}.mobile-card-view .mobile-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;margin-bottom:8px;transition:border-color .15s ease,box-shadow .15s ease}.mobile-card-view .mobile-card:active{background:#f8fafc;border-color:#d1d5db}.mobile-card-view .mobile-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.mobile-card-view .mobile-card-title{font-weight:600;font-size:15px;color:#111827}.mobile-card-view .mobile-card-row{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px solid #f3f4f6}.mobile-card-view .mobile-card-row:last-child{border-bottom:none}.mobile-card-view .mobile-card-label{color:#6b7280;font-size:13px}.mobile-card-view .mobile-card-value{color:#111827;font-weight:500;font-size:13px}.mobile-card-view .mobile-card-actions{display:flex;gap:var(--spacing-sm);margin-top:12px;padding-top:10px;border-top:1px solid #f3f4f6}.desktop-table{display:none!important}}@media (min-width: 768px){.mobile-card-view{display:none!important}.desktop-table{display:block}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f3f4f6}::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width: 767px){::-webkit-scrollbar{width:4px;height:4px}}.safe-area-top{padding-top:var(--sat)}.safe-area-bottom{padding-bottom:var(--sab)}.safe-area-left{padding-left:var(--sal)}.safe-area-right{padding-right:var(--sar)}.safe-area-all{padding:var(--sat) var(--sar) var(--sab) var(--sal)}.pwa-install-banner{position:fixed;bottom:0;left:0;right:0;background:#111827;color:#fff;padding:16px;padding-bottom:calc(16px + var(--sab));display:flex;justify-content:space-between;align-items:center;gap:16px;z-index:9999;animation:slideUp .3s ease}.pwa-install-banner button{white-space:nowrap}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid #2563eb;outline-offset:2px;border-radius:4px}.auth-page-main{flex:1;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:40px}.auth-card .ant-input,.auth-card .ant-input-affix-wrapper,.auth-card .ant-input-password{font-size:16px!important;min-height:44px!important;height:auto!important}.auth-card .ant-input-affix-wrapper>.ant-input{font-size:16px!important;height:auto!important;min-height:unset!important}.auth-card .ant-btn-lg,.auth-card .ant-btn{min-height:44px!important}@media (max-width: 767px){.auth-page-main{align-items:flex-start;padding:24px 16px 16px}.auth-card{padding:24px 20px;border-radius:10px}.auth-card h1{font-size:20px!important}}@media (min-width: 768px) and (max-width: 1023px){.auth-page-main{padding:32px 24px}}@media print{.no-print{display:none!important}body{background:#fff}.card{border:1px solid #ccc;box-shadow:none}}
