/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.border-collapse{border-collapse:collapse}.resize{resize:both}.list-disc{list-style-type:disc}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.italic{font-style:italic}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;font-family:Segoe UI,SegoeUI,-apple-system,BlinkMacSystemFont,Helvetica Neue,Arial,Inter,Noto Sans,Liberation Sans,system-ui,sans-serif;font-size:clamp(12px,.9vw + 10px,16px)}body{margin:0;font-family:inherit}html,body{height:100%;overflow:hidden}html.no-scroll,body.no-scroll{height:100vh;overflow:hidden}.ts-page{box-sizing:border-box;max-width:100vw;margin-top:12px;padding-left:20px;padding-right:20px}*{font-family:inherit}table,th,td,input,button,select,textarea{font-size:inherit;font-family:inherit!important}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}.approval-page{padding:12px;margin:0;width:100%;max-width:none;box-sizing:border-box;font-family:Segoe UI,Segoe WP,Segoe,device-segoe,Tahoma,Helvetica,Arial,sans-serif}.approval-header{margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.approval-header-left{display:flex;align-items:center;gap:12px}.approval-header h1{color:#007e87;margin:0;font-size:1.25rem;font-weight:600;line-height:1;position:relative;top:-1px}.approval-summary{color:#666;font-size:.95rem}.approval-filters{display:flex;gap:12px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:3px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:column;gap:4px;min-width:160px}.filter-group select{height:28px;padding:4px 8px;border:1px solid #c1c1c1;border-radius:3px;font-size:9pt;background:#fff;font-family:Segoe UI,Segoe WP,Segoe,device-segoe,Tahoma,Helvetica,Arial,sans-serif}.filter-group select:focus{outline:none;border-color:#007e87;box-shadow:0 0 0 2px #007e871f}.filter-actions{display:flex;align-items:flex-end;padding-bottom:2px}.approval-headers{margin-bottom:16px}.approval-headers h2{color:#007e87;margin-bottom:8px;font-size:1.1rem}.headers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.header-card{display:flex;justify-content:space-between;align-items:center;padding:10px;border:1px solid #e0e0e0;border-radius:3px;cursor:pointer;transition:all .2s ease;background:#fff}.header-card:hover{border-color:#007e87;box-shadow:0 2px 6px #007e8714}.header-card.selected{border-color:#007e87;background:#f0f9fa}.header-info{flex:1}.header-name{font-weight:600;color:#333;margin-bottom:5px}.header-period{color:#666;font-size:.85rem;margin-bottom:2px}.header-count{color:#007e87;font-size:.85rem;font-weight:500}.header-checkbox{margin-left:15px}.header-checkbox input{width:18px;height:18px;cursor:pointer}.approval-lines{margin-bottom:16px}.lines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding:10px;background:#f8f9fa;border-radius:3px}.lines-header h2{color:#007e87;margin:0;font-size:1.1rem}.lines-actions{display:flex;align-items:center;gap:12px}.lines-actions label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500}.lines-actions input[type=checkbox]{width:16px;height:16px;cursor:pointer}.selected-count{color:#007e87;font-weight:500;font-size:.9rem}.lines-loading{text-align:center;padding:40px;color:#666;font-size:1.1rem}.approval-actions{display:flex;gap:12px;justify-content:flex-end;padding:10px;background:#f8f9fa;border-radius:3px}.approval-actions .ts-btn{min-width:120px}.approval-actions .ts-btn:disabled{opacity:.5;cursor:not-allowed}.approval-loading{text-align:center;padding:60px;color:#666;font-size:1.2rem}@media (max-width: 768px){.approval-page{padding:10px}.approval-filters{flex-direction:column;gap:15px}.filter-group{min-width:100%}.headers-grid{grid-template-columns:1fr}.lines-header{flex-direction:column;gap:15px;align-items:flex-start}.approval-actions{flex-direction:column;align-items:center}.approval-actions .ts-btn{min-width:100%}}.ts-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1200px;table-layout:fixed}.ts-responsive{position:relative;overflow:visible;max-width:100%}.ts-lines-wrap{position:relative;width:100%;max-width:100%;overflow:visible}.ts-lines-header{position:sticky;top:0;z-index:5;background:#fff;overflow:visible}.ts-lines-scroll{max-height:65vh;overflow-y:auto;overflow-x:visible}.ts-th{position:relative;text-align:center;border:1px solid #ddd;padding:2px 3px!important;height:24px!important;max-height:24px!important;vertical-align:middle!important;line-height:1.1!important;box-sizing:border-box!important}.ts-table thead th{position:sticky;top:0;z-index:3;background:#fff}.ts-table thead{position:sticky;top:0;z-index:2;background:#fff}.ts-dropdown *,.ts-datepop *{transform:unset!important}.ts-table thead .ts-th{position:sticky!important;top:0!important;z-index:10!important;background:#fff!important}.ts-td{border:1px solid #ddd;padding:2px 3px!important;height:24px!important;max-height:24px!important;vertical-align:middle!important;line-height:20px!important;box-sizing:border-box!important}.ts-cell{position:relative}.ts-resizer{position:absolute;right:0;top:0;width:6px;height:100%;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:none}.ts-input{width:100%;height:20px;border:none;padding:0 4px;box-sizing:border-box;outline:none;outline-color:transparent;outline-offset:0;box-shadow:none;font:inherit;background:transparent;cursor:text;line-height:20px}.ts-input::-webkit-grammar-error,.ts-input::-webkit-spelling-error{text-decoration-style:wavy!important;text-decoration-color:red!important;text-decoration-line:underline!important;text-decoration-thickness:2px!important;background-color:transparent!important}.ts-input::-moz-spelling-error{text-decoration-style:wavy!important;text-decoration-color:red!important;text-decoration-line:underline!important;text-decoration-thickness:2px!important;background-color:transparent!important}input[spellcheck=true]::-webkit-spelling-error,input[spellcheck=true]::-webkit-grammar-error{text-decoration-color:red!important;text-decoration-style:wavy!important}input[spellcheck=true]::-moz-spelling-error{text-decoration-color:red!important;text-decoration-style:wavy!important}.ts-input.has-error{border:1px solid rgba(225,29,72,.75);border-radius:6px;background:#fff7f9}.ts-input.pr-icon{padding-right:26px}.ts-input-factorial{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;line-height:inherit!important;color:#666!important;font-style:italic!important;background-color:transparent!important;border:none!important;cursor:not-allowed!important}.ts-dropdown{position:absolute;left:0;top:100%;width:max(100%,420px);min-width:420px;max-height:360px;overflow-y:auto;background:#fff;border:1px solid #ccc;box-shadow:0 6px 16px #0000001f;z-index:1000}.ts-dropdown__item{padding:6px 8px;cursor:pointer;transition:background-color .15s ease}.ts-dropdown__item:hover{background-color:#f5f5f5}.ts-dropdown__item--active{background-color:#e3f2fd!important;outline:2px solid #2196f3}.ts-action-btn{transition:all .2s ease}.ts-action-btn:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.ts-action-btn--duplicate:hover{background-color:#e3f2fd!important;border-color:#2196f3!important;color:#1976d2!important}.ts-action-btn--delete:hover{background-color:#ffebee!important;border-color:#dc3545!important;color:#c62828!important}.ts-action-btn:active{transform:translateY(0);box-shadow:0 1px 2px #0000001a}.ts-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background-color:#0006!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000!important}.ts-modal p{margin:0 0 16px!important;color:#444!important;line-height:1.3!important;font-size:9pt!important;padding-left:26px!important}.ts-modal p strong{color:#000!important;font-weight:600!important}.ts-dropdown__header{display:flex;align-items:center;gap:6px;padding:6px 8px;border-bottom:1px solid #eee;position:sticky;top:0;background:#fff}.ts-spinner{width:14px;height:14px;border:2px solid rgba(0,0,0,.15);border-top-color:#4a90e2;border-radius:50%;animation:ts-spin .8s linear infinite}@keyframes ts-spin{to{transform:rotate(360deg)}}.ts-dropdown__header input{width:100%;border:none;outline:none}.ts-icon{position:absolute;right:6px;top:50%;transform:translateY(-50%);cursor:pointer;color:#4a90e2}@media (max-width: 1439px) and (min-width: 1200px){.ts-table th,.ts-table td{height:22px!important;max-height:22px!important;padding:1px 2px!important;line-height:1!important}.ts-input{padding:0 1px!important;font-size:10px!important;height:18px!important;line-height:1!important}}.ts-icon--chevron{font-size:16px}.ts-icon--calendar{font-size:18px}.ts-datepop{position:absolute;left:0;top:32px;z-index:1000;box-shadow:0 2px 8px #00000021;background:#fff}.ts-td.ts-cell>.ts-cell{margin-bottom:6px}.ts-error{position:static;margin-top:4px}.ts-inline-error{display:inline-flex;align-items:center;gap:4px;color:#7a0b20;background-color:#ffe8ee;border:1px solid rgba(225,29,72,.25);border-radius:999px;padding:2px 6px;line-height:1.2;box-shadow:0 1px #00000008}.ts-inline-error__dot{width:5px;height:5px;border-radius:999px;background:#e11d48}:root{--ts-font-family: "Segoe UI", SegoeUI, system-ui, -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, Inter, "Noto Sans", "Liberation Sans", sans-serif;--ts-font-size: 12px}.ts-table,.ts-th,.ts-td,.ts-input,.ts-dropdown,.ts-dropdown__header,.ts-datepop,.ts-error,.ts-responsive .ts-table,.ts-responsive .ts-table *{font-family:var(--ts-font-family)!important;font-size:var(--ts-font-size)!important}.ts-project-status-warning{display:flex;align-items:center;gap:4px;padding:2px 6px;margin-top:2px;background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;font-size:11px;color:#856404;max-width:100%;overflow:hidden}.ts-project-status-warning__icon{font-size:12px;flex-shrink:0}.ts-project-status-warning__text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ts-readonly{width:100%;height:20px;padding:0 4px;box-sizing:border-box;text-align:inherit;font-family:inherit;font-size:inherit;line-height:20px;color:inherit;display:flex;align-items:center;vertical-align:middle}.ts-cell-content{width:100%;height:100%;padding:0 4px;box-sizing:border-box;text-align:inherit;font-family:inherit;font-size:inherit;line-height:inherit;color:inherit;display:flex;align-items:center;justify-content:inherit}.ts-cell{position:relative;width:100%}.ts-icon{cursor:pointer;color:#666;margin-left:8px;font-size:16px}.ts-icon:hover{color:#007bff}.ts-icon--calendar{flex-shrink:0}.ts-datepop{position:absolute;top:100%;left:0;z-index:1000;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px #0000001a;min-width:280px}.ts-calendar{padding:16px;font-family:inherit}.ts-calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.ts-calendar-nav{background:none;border:none;font-size:18px;cursor:pointer;padding:4px 8px;border-radius:4px;color:#666;transition:all .2s ease}.ts-calendar-nav:disabled{color:#ccc;cursor:not-allowed;opacity:.5}.ts-calendar-nav:disabled:hover{background-color:transparent;color:#ccc}.ts-calendar-nav:hover{background-color:#f8f9fa;color:#007bff}.ts-calendar-month{font-weight:600;font-size:16px;color:#333}.ts-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.ts-calendar-weekdays>div{text-align:center;font-weight:600;font-size:12px;color:#666;padding:8px 4px}.ts-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.ts-calendar-day{background:none!important;border:none!important;width:36px!important;height:36px!important;border-radius:4px!important;cursor:pointer!important;font-size:14px!important;color:#333!important;font-weight:500!important;display:flex!important;align-items:center!important;justify-content:center!important;transition:all .2s ease!important;position:relative!important}.ts-calendar-day:hover:not(:disabled){background-color:#e3f2fd!important;color:#0056b3!important;transform:scale(1.05)}.ts-calendar-day--holiday:hover:not(:disabled){background-color:#006b76!important;color:#fff!important;transform:scale(1.1);transition:all .2s ease}.ts-calendar-day--outside{color:#b3d9ff!important;opacity:.6!important}.ts-calendar-day--disabled{color:#333!important;cursor:pointer!important;opacity:1!important}.ts-calendar-day--disabled:hover{background-color:transparent!important}.ts-calendar-day--selected{background-color:#008489!important;color:#fff!important;border:none!important;border-radius:6px!important;font-weight:600!important}.ts-calendar-day--holiday{background-color:#008489!important;color:#fff!important;font-weight:600!important;border:none!important;border-radius:50%!important;width:32px!important;height:32px!important;display:flex!important;align-items:center!important;justify-content:center!important}.ts-calendar-day--today{font-weight:700;color:#007bff;border:2px solid #007bff}.ts-calendar-day button{color:#333!important;background-color:transparent!important;pointer-events:auto!important}.ts-calendar-day--outside button{color:#999!important;background-color:transparent!important;pointer-events:auto!important}.ts-calendar-day--disabled button{color:#333!important;background-color:transparent!important;pointer-events:auto!important}.dashboard-container{padding:20px;background-color:#f8f9fa;min-height:100vh;font-family:Segoe UI,sans-serif;width:100%;max-width:100%;overflow-x:hidden}.dashboard-title{font-size:28px;margin-bottom:20px;color:#333}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}.dashboard-card{background:#fff;border:1px solid #ddd;border-radius:8px;padding:15px;text-align:center;font-size:18px;color:#007bff;text-decoration:none;transition:background .3s ease}.dashboard-card:hover{background:#f0f0f0}:root{--bc-teal: #007c89;--bc-teal-dark: #006b76;--bc-bg: #f5f7f9;--bc-white: #ffffff}.dash{padding:20px;background:var(--bc-bg);height:95vh;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;width:100%;max-width:100vw;overflow:hidden;box-sizing:border-box}.dash__header{margin-bottom:16px}.dash__greeting{font-size:28px;font-weight:700;color:#19a0ac;margin:0}.dash__grid,.dashboard-grid{display:grid;gap:16px;grid-template-columns:repeat(1,minmax(0,1fr));width:100%;box-sizing:border-box}@media (min-width: 768px){.dash__grid,.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width: 992px){.dash__grid,.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.bc-card,.dashboard-card{background:var(--bc-teal);color:var(--bc-white);border:1px solid var(--bc-teal-dark);border-radius:4px;padding:16px;height:160px;display:flex;flex-direction:column;justify-content:space-between;width:100%;margin:0;max-width:100%;box-sizing:border-box;min-width:0}.bc-card--compact{width:320px;height:auto;padding:12px;border-radius:6px;min-width:320px}.bc-card__title--small{font-size:14px;font-weight:700;margin-bottom:6px}.summary-grid{display:flex;flex-direction:column;gap:8px;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;width:100%}.summary-item{display:flex;justify-content:space-between;align-items:center;padding:4px 0;background:transparent;border:none;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;transition:none}.summary-item:hover{background:transparent;border-color:transparent;transform:none}.summary-label-wrapper{display:flex;align-items:center;gap:8px;flex:1}.summary-icon{color:#fffc;font-size:14px;flex-shrink:0}.summary-label{color:#ffffffe6;font-weight:500;font-size:12px;letter-spacing:.1px}.summary-value{color:#fff;font-weight:700;font-size:12px;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.2px;background:#ffffff26;padding:3px 8px;border-radius:4px;border:1px solid rgba(255,255,255,.2);min-width:50px;text-align:center}.summary-progress{margin-top:8px;padding:0}.progress-bar{width:100%;height:5px;background:#fff3;border-radius:3px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;border-radius:3px;transition:width .5s ease,background-color .3s ease}.progress-text{text-align:center;color:#fffc;font-size:10px;font-weight:500;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;letter-spacing:.1px}.bc-card__value{font-size:44px;font-weight:400;letter-spacing:.5px;align-self:flex-start;margin-left:4px}.bc-card__line{border-top:2px solid rgba(255,255,255,.85);margin:8px 0 0}.bc-card__icon{font-size:18px;line-height:1;margin-top:6px;opacity:.9}.bc-menu{display:flex;align-items:center;gap:28px;padding:8px 0 12px;border-bottom:1px solid #d9d9d9;margin-bottom:16px}.bc-menu-item a{text-decoration:none;color:var(--bc-teal);font-size:15px;font-weight:600}.bc-menu-item--active a{color:var(--bc-teal-dark);border-bottom:2px solid var(--bc-teal-dark);padding-bottom:2px}.bc-card:hover,.dashboard-card:hover,.bc-card:focus,.dashboard-card:focus{background:var(--bc-teal-dark);cursor:pointer;transition:background .3s ease}.bc-menu{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:4px 0 10px;border-bottom:1px solid #e5e7eb;margin-bottom:14px}.bc-menu-item{display:flex}.bc-menu-item a{display:inline-block;padding:6px 10px;border-radius:4px;text-decoration:none;color:var(--bc-teal);font-weight:600;font-size:15px;line-height:1.2}.bc-menu-item a:hover{background:#007c8914;text-decoration:none}.bc-menu-item a:focus-visible{outline:2px solid rgba(0,124,137,.35);outline-offset:2px;border-radius:4px;text-decoration:underline}.bc-menu-item--active a{color:#008489;background:#007c8914;border-bottom:2px solid #008489}.bc-menu-item a:visited{color:var(--bc-teal)}.timesheet-header{font-size:14px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;border-collapse:separate;width:auto}.timesheet-header th,.timesheet-header td{padding:6px 10px;border:none}.timesheet-header th{background-color:transparent;color:#4a4a4a;text-align:left;display:flex;align-items:center;white-space:nowrap;font-weight:400}.timesheet-header th:after{content:"";flex:1;border-bottom:1px dotted #ccc;margin-left:6px;margin-right:6px}.timesheet-header td{background-color:#edeff1;color:#000;text-align:left;font-weight:400!important}.timesheet-header tr,.timesheet-header th{background:transparent!important}.timesheet-header td{background:#edeff1!important}.timesheet-header th{display:flex;align-items:center}.timesheet-header .th-label{margin-right:8px;color:#4a4a4a;white-space:nowrap}.timesheet-header .th-leader{flex:1;border-bottom:1px dotted #ccc;height:0}.ai-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.ai-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0003;animation:slideUp .3s ease}.ai-modal-chat{max-height:85vh}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.ai-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#008489,#006a6e);border-radius:12px 12px 0 0}.ai-modal-header h2{margin:0;font-size:18px;font-weight:600;color:#fff}.ai-close-btn{background:#fff3;border:none;font-size:20px;cursor:pointer;color:#fff;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.ai-close-btn:hover{background-color:#ffffff4d}.ai-chat-body{display:flex;flex-direction:column;height:60vh;padding:0;overflow:hidden}.ai-chat-messages{flex:1;overflow-y:auto;padding:20px;background:#f8f9fa;display:flex;flex-direction:column;gap:16px}.ai-chat-message{display:flex;gap:12px;animation:messageSlideIn .3s ease}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-chat-message.user{flex-direction:row-reverse}.message-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;background:#fff;box-shadow:0 2px 4px #0000001a}.message-content{max-width:70%;display:flex;flex-direction:column;gap:4px}.message-text{padding:12px 16px;border-radius:12px;font-size:14px;line-height:1.5;word-wrap:break-word;white-space:pre-line}.ai-chat-message.user .message-text{background:#008489;color:#fff;border-bottom-right-radius:4px}.ai-chat-message.assistant .message-text{background:#fff;color:#333;border:1px solid #e0e0e0;border-bottom-left-radius:4px}.message-time{font-size:11px;color:#999;padding:0 4px}.ai-chat-message.user .message-time{text-align:right}.typing-indicator{display:flex;gap:4px;padding:12px 16px}.typing-indicator span{width:8px;height:8px;border-radius:50%;background-color:#999;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.7}30%{transform:translateY(-10px);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.ai-extracted-data{padding:12px 20px;background:#fff8e1;border-top:1px solid #ffe082;border-bottom:1px solid #ffe082}.ai-extracted-data h4{margin:0 0 8px;font-size:13px;font-weight:600;color:#f57c00}.extracted-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.data-item{display:flex;gap:6px;font-size:12px}.data-label{font-weight:600;color:#666}.data-value{color:#333}.ai-chat-input-area{display:flex;flex-direction:column;gap:0;padding:16px 20px;border-top:1px solid #e0e0e0;background:#fff}.ai-chat-input{flex:1;padding:10px 12px;border:1px solid #ddd;border-radius:20px;font-family:inherit;font-size:14px;resize:none;transition:border-color .2s;min-height:48px;max-height:120px}.ai-chat-input:focus{outline:none;border-color:#008489;box-shadow:0 0 0 3px #0084891a}.ai-chat-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.ai-send-btn{width:40px;height:40px;border-radius:50%;border:none;background:#008489;color:#fff;font-size:18px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ai-send-btn:hover:not(:disabled){background:#006a6e;transform:scale(1.05)}.ai-send-btn:disabled{opacity:.5;cursor:not-allowed}.ai-modal-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;border-top:1px solid #e0e0e0;background:#fafafa;border-radius:0 0 12px 12px}.ai-footer-info{flex:1}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.complete{background:#e8f5e9;color:#2e7d32}.status-badge.error{background:#ffebee;color:#c62828}.status-badge.waiting{background:#e3f2fd;color:#1565c0}.ai-btn{font-family:Segoe UI,Segoe WP,Segoe,device-segoe,Tahoma,Helvetica,Arial,sans-serif;border-radius:3px;border:1px solid;padding:8px 16px;font-size:9pt;font-weight:400;cursor:pointer;transition:all .15s ease;min-width:80px;height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.ai-btn:disabled{opacity:.5;cursor:not-allowed}.ai-btn-primary{background-color:#fff;color:#008489;border-color:#008489}.ai-btn-primary:hover:not(:disabled){background-color:#008489;color:#fff}.ai-btn-secondary{background-color:#fff;color:#444;border-color:#c1c1c1}.ai-btn-secondary:hover:not(:disabled){background-color:#f8f8f8;border-color:#999}@media (max-width: 768px){.ai-modal{width:95%;max-height:90vh}.ai-chat-body{height:50vh}.ai-modal-header{padding:12px 16px}.ai-modal-header h2{font-size:16px}.ai-chat-messages{padding:12px;gap:12px}.message-content{max-width:80%}.message-text{font-size:13px;padding:10px 12px}.ai-chat-input-area{padding:12px 16px}.ai-modal-footer{padding:10px 16px}.extracted-data-grid{grid-template-columns:1fr}}.ai-chat-messages::-webkit-scrollbar{width:6px}.ai-chat-messages::-webkit-scrollbar-track{background:#f1f1f1}.ai-chat-messages::-webkit-scrollbar-thumb{background:#ccc;border-radius:3px}.ai-chat-messages::-webkit-scrollbar-thumb:hover{background:#999}.ts-modal-overlay{position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;background-color:#0006!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:10000!important;animation:modalSlideIn .2s ease-out!important}.ts-modal{background:#fff!important;border-radius:4px!important;padding:16px!important;max-width:400px!important;width:90%!important;box-shadow:0 8px 24px #0003!important;border:1px solid #e1e1e1!important;font-family:Segoe UI,Segoe WP,Segoe,device-segoe,Tahoma,Helvetica,Arial,sans-serif!important;font-weight:400!important;font-size:10pt!important;color:#444!important;box-sizing:border-box!important}.ts-modal--small{max-width:300px!important}.ts-modal--medium{max-width:400px!important}.ts-modal--large{max-width:600px!important}.ts-modal h3{margin:0 0 12px!important;color:#000!important;font-size:11pt!important;font-weight:600!important;display:flex!important;align-items:center!important;gap:8px!important;line-height:1.2!important}.ts-modal h3:before{content:"?"!important;width:20px!important;height:20px!important;background-color:#fff!important;border:2px solid rgb(0,132,137)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;color:#008489!important;font-size:12px!important;font-weight:500!important;flex-shrink:0!important}.ts-modal h3:after{content:"?"!important;color:#008489!important;font-size:12px!important;font-weight:500!important}.ts-modal-content{margin:0 0 16px!important;color:#444!important;line-height:1.3!important;font-size:9pt!important;padding-left:26px!important}.ts-modal-content p{margin:0 0 8px!important}.ts-modal-content p:last-child{margin-bottom:0!important}.ts-modal-content strong{color:#000!important;font-weight:600!important}.ts-modal-actions{display:flex!important;gap:8px!important;justify-content:flex-end!important;padding-left:26px!important}.ts-btn{padding:6px 12px!important;border:1px solid!important;border-radius:3px!important;font-family:Segoe UI,Segoe WP,Segoe,device-segoe,Tahoma,Helvetica,Arial,sans-serif!important;font-size:9pt!important;font-weight:400!important;cursor:pointer!important;transition:all .15s ease!important;min-width:60px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box!important}.ts-btn--danger{background-color:#fff!important;color:#008489!important;border-color:#008489!important}.ts-btn--danger:hover{background-color:#008489!important;color:#fff!important}.ts-btn--primary{background-color:#fff!important;color:#008489!important;border-color:#008489!important}.ts-btn--primary:hover{background-color:#008489!important;color:#fff!important}.ts-btn--secondary{background-color:#fff!important;color:#444!important;border-color:#c1c1c1!important}.ts-btn--secondary:hover{background-color:#f8f8f8!important;border-color:#999!important}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.bc-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.bc-modal,.bc-modal-container{background:#fff;border-radius:6px;box-shadow:0 4px 20px #00000026;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.bc-modal-header{background:#008489;color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center}.bc-modal-title{margin:0;font-size:18px;font-weight:600;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.bc-modal-close{background:none;border:none;color:#fff;font-size:24px;cursor:pointer;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.bc-modal-close:hover{background-color:#fff3}.bc-modal-body{padding:20px;flex:1;overflow-y:auto;background-color:#f5f5f5}.bc-modal-content{padding:20px;flex:1;overflow-y:auto}.bc-modal-footer,.bc-modal-actions{padding:16px 20px;background:#f8f9fa;border-top:1px solid #dee2e6;display:flex;justify-content:flex-end;gap:12px}.bc-modal-btn{padding:10px 20px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.bc-modal-btn-primary{background:#008489;color:#fff}.bc-modal-btn-primary:hover{background:#006d71}.bc-modal-btn-secondary{background:#6c757d;color:#fff}.bc-modal-btn-secondary:hover{background:#5a6268}.validation-summary{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:16px;margin-bottom:20px}.summary-text{font-size:14px;line-height:1.5;color:#495057}.validation-details h3{margin:0 0 16px;font-size:16px;color:#495057;font-weight:600}.errors-list{display:flex;flex-direction:column;gap:12px}.error-line{background:#fff;border:1px solid #dee2e6;border-radius:6px;padding:12px}.line-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.line-id{font-weight:600;color:#495057;font-size:14px}.go-to-error-btn{background:#007bff;color:#fff;border:none;border-radius:4px;padding:6px 12px;font-size:12px;cursor:pointer;transition:background-color .2s}.go-to-error-btn:hover{background:#0056b3}.line-errors{display:flex;flex-direction:column;gap:6px}.field-error{display:flex;gap:8px;align-items:flex-start}.field-name{font-weight:600;color:#6c757d;font-size:13px;min-width:80px;text-transform:capitalize}.error-message{color:#dc3545;font-size:13px;line-height:1.4}.calendar-panel-container{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;max-height:none!important;overflow:visible!important}.calendar-summary-box{width:210px;min-width:210px;border:1px solid #d9d9d9;border-radius:6px;padding:12px;background:var(--bc-teal);flex-shrink:0;position:relative;z-index:10}.calendar-summary-title{font-weight:700;margin-bottom:8px;text-align:center;color:#fff;font-size:14px}.summary-grid{display:flex;flex-direction:column;gap:8px}.summary-item{display:flex;justify-content:space-between;align-items:center;color:#fff}.summary-label-wrapper{display:flex;align-items:center;gap:6px}.summary-icon{width:14px;height:14px;flex-shrink:0}.summary-label{font-size:12px;font-weight:500}.summary-value{font-size:13px;font-weight:700}.summary-progress{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.2)}.progress-bar{width:100%;height:8px;background-color:#ffffff4d;border-radius:4px;overflow:hidden;margin-bottom:4px}.progress-fill{height:100%;transition:width .3s ease,background-color .3s ease;border-radius:4px}.progress-text{font-size:11px;text-align:center;color:#fff;font-weight:600}.calendar-box{width:210px;min-width:210px;border:1px solid #d9d9d9;border-radius:6px;padding:12px;background:#fff;flex-shrink:0;max-height:none!important;overflow:visible!important;position:relative;z-index:10}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.calendar-month-title{font-weight:700}.calendar-multiselect-btn{padding:4px 8px;font-size:11px;border:1px solid;border-radius:3px;background:#fff;cursor:pointer;font-weight:500;transition:all .15s ease}.calendar-multiselect-btn--active{border-color:#ef4444;background:#fee2e2;color:#ef4444}.calendar-multiselect-btn--inactive{border-color:#008489;background:#fff;color:#008489}.calendar-multiselect-btn:hover{opacity:.8}.calendar-selection-counter{background-color:#e0f2fe;padding:6px 8px;border-radius:4px;margin-bottom:8px;font-size:12px;text-align:center;color:#0369a1;font-weight:500}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:12px;color:#666;margin-bottom:6px}.calendar-weekday{text-align:center}.calendar-days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;grid-auto-rows:auto;max-height:none!important;height:auto!important;overflow:visible!important}.calendar-day-cell{text-align:center;cursor:pointer}.calendar-day-cell--not-selectable{cursor:not-allowed}.calendar-day-box{display:block;width:100%;padding:3px 0;border-radius:5px;font-size:11px;line-height:1.2;border:2px solid transparent;box-sizing:border-box;position:relative;transition:border-color .15s ease}.calendar-day-box--sin-horas{background-color:#d3d3d3;color:#222}.calendar-day-box--cero{background-color:red;color:#fff}.calendar-day-box--parcial{background-color:#ff0;color:#222}.calendar-day-box--completo{background-color:#90ee90;color:#fff}.calendar-day-box--selected{border:2px solid #0284c7}.calendar-day-box--not-selectable{opacity:.4}.calendar-day-box--selected-indicator{position:absolute;top:-2px;right:-2px;width:10px;height:10px;border-radius:50%;background-color:#0284c7;border:1px solid white}.calendar-legend{display:grid;grid-template-columns:auto auto;justify-content:space-between;align-items:center;row-gap:6px;-moz-column-gap:8px;column-gap:8px;margin-top:8px;font-size:12px}.calendar-legend-item{display:flex;align-items:center;gap:6px}.calendar-legend-color{width:10px;height:10px;border-radius:3px;flex-shrink:0}.calendar-actions{margin-top:12px;display:flex;flex-direction:column;gap:6px}.calendar-action-btn{width:100%;font-size:11px}.calendar-action-btn--create{display:flex;align-items:center;justify-content:center;gap:4px}@media (max-width: 600px){.calendar-panel-container{flex-direction:column;width:100%!important;max-width:400px;margin:0 auto}.calendar-summary-box,.calendar-box{width:100%!important;min-width:unset!important;max-width:400px}}@media (max-width: 800px) and (min-width: 601px){.calendar-panel-container{flex-direction:column;width:100%;max-width:450px;margin:0 auto}.calendar-summary-box,.calendar-box{width:100%;min-width:unset;max-width:450px}}@media (max-width: 400px){.calendar-summary-box,.calendar-box{padding:8px}.calendar-days-grid{gap:2px}.calendar-day-box{font-size:10px;padding:2px 0}.calendar-weekdays{font-size:11px;gap:2px}.calendar-legend{font-size:11px;row-gap:4px;-moz-column-gap:6px;column-gap:6px}.calendar-multiselect-btn{font-size:10px;padding:3px 6px}.calendar-selection-counter{font-size:11px;padding:5px 6px}}.timesheet-table{font-size:12px;font-family:Segoe UI,Arial,sans-serif;border-collapse:collapse;width:100%}.timesheet-table th,.timesheet-table td{border:1px solid #ccc;padding:8px}.timesheet-table th{background-color:#f4f4f4}.timesheet-title{font-size:18px;font-weight:400}.ts-cell-center{display:flex;align-items:center;justify-content:center;gap:6px}.timesheet-list-page{padding:12px;margin:0;width:100%;max-width:none;box-sizing:border-box;height:100vh;display:flex;flex-direction:column;overflow:hidden;font-family:Segoe UI,Segoe WP,Segoe,device-segoe,Tahoma,Helvetica,Arial,sans-serif}.timesheet-list-filters{display:flex;gap:12px;margin-top:10px;margin-bottom:16px;padding:12px;background:#f8f9fa;border-radius:3px;flex-wrap:wrap}.filter-group{display:flex;flex-direction:row;align-items:center;gap:8px;min-width:160px}.filter-group label{font-weight:600;color:#333;font-size:.9rem}.filter-select{height:28px;padding:4px 8px;border:1px solid #c1c1c1;border-radius:3px;font-size:9pt;background:#fff}.filter-select:focus{outline:none;border-color:#007e87;box-shadow:0 0 0 2px #007e871f}.ts-responsive{flex:1;min-height:0;overflow:auto}.ts-table{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.ts-th{position:sticky;top:0;background:#fff;z-index:1;border-bottom:1px solid #e5e7eb;padding:8px;font-weight:600}.ts-td{border-bottom:1px solid #f1f3f4;padding:8px}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.status-draft{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.status-pending{background-color:#cce5ff;color:#004085;border:1px solid #99d6ff}.status-approved{background-color:#d4edda;color:#155724;border:1px solid #a3d9a4}.status-rejected{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.status-synced{background-color:#e2e3e5;color:#383d41;border:1px solid #d6d8db}.status-unknown{background-color:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.no-data{text-align:center;padding:40px 20px;color:#666}.no-data p{margin:0 0 20px;font-size:16px}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid rgb(0,132,137);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.loading-container p{margin:0;color:#666;font-size:16px}.error-container{text-align:center;padding:60px 20px}.error-container h2{color:#dc3545;margin:0 0 16px}.error-container p{color:#666;margin:0 0 20px}@media (max-width: 768px){.timesheet-list-page{padding:10px}.timesheet-list-filters{flex-direction:column;gap:15px}.filter-group{min-width:100%;flex-direction:column;align-items:flex-start;gap:4px}.ts-th,.ts-td{padding:8px 12px}}@media (max-width: 480px){.ts-table thead th:nth-child(3),.ts-table tbody td:nth-child(3){display:none}}.bc-switch{position:relative;display:inline-block;width:32px;height:18px;border-radius:9px;transition:all .3s ease;cursor:default}.bc-switch__slider{position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:50%;background-color:#fff;transition:all .3s ease;box-shadow:0 1px 3px #0003}.bc-switch--on{background-color:#007e87}.bc-switch--on .bc-switch__slider{transform:translate(14px)}.bc-switch--off{background-color:#007e874d}.bc-switch--off .bc-switch__slider{transform:translate(0)}.ts-resizer{position:absolute;right:0;top:0;width:4px;height:100%;background:transparent;cursor:col-resize;z-index:10}.ts-resizer:hover{background:#007e87}.ts-th{position:relative}.ts-responsive{position:relative;overflow:auto}.expense-edit-page{display:flex;flex-direction:column;min-height:100vh;background-color:#f8f9fa}.ts-header-bar{display:flex;align-items:center;gap:12px;padding:12px;background-color:#fff;border-bottom:1px solid #e9ecef}.ts-page-title{color:#007e87;margin:0;font-size:1.25rem;font-weight:600}.expense-lines-container{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow-x:auto;overflow-y:visible}.expense-lines-table-wrapper{position:relative;width:100%;max-width:100%;overflow:auto;max-height:65vh}.expense-lines-table{border-collapse:separate;border-spacing:0;width:100%;table-layout:auto}.ts-lines-wrap{position:relative;width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;box-sizing:border-box;margin-right:0!important;padding-right:0!important;margin-left:0!important;padding-left:0!important}.ts-lines-wrap .ts-table{width:100%;min-width:auto;table-layout:auto;box-sizing:border-box}.ts-lines-wrap .ts-table th[data-col=select],.ts-lines-wrap .ts-table td[data-col=select]{min-width:30px!important;max-width:60px!important;width:40px!important;padding:2px 4px!important}.ts-lines-wrap .ts-table th[data-col=scan],.ts-lines-wrap .ts-table td[data-col=scan]{min-width:50px!important;max-width:100px!important;width:70px!important;padding:2px 4px!important}.expense-edit-page>div:last-child{overflow-x:auto;overflow-y:auto;min-width:0;width:100%;max-width:100%;box-sizing:border-box;scrollbar-gutter:stable;padding-right:0!important;margin-right:0!important}.expense-column-header{position:relative;text-align:center;border:1px solid #ddd;padding:8px 4px;height:40px;max-height:40px;vertical-align:middle;line-height:1.2;box-sizing:border-box;background-color:#f8f9fa;font-weight:600;font-size:12px;color:#495057;cursor:col-resize;-webkit-user-select:none;-moz-user-select:none;user-select:none}.expense-column-header:hover{background-color:#e9ecef}.expense-line-row td{border:1px solid #ddd;padding:6px 4px;height:36px;max-height:36px;vertical-align:middle;line-height:1.2;box-sizing:border-box;font-size:12px;background-color:#fff}.expense-line-row:nth-child(2n) td{background-color:#f8f9fa}.expense-line-row:hover td{background-color:#e3f2fd}.expense-column-date{width:100px;min-width:100px;text-align:center}.expense-column-type{width:80px;min-width:80px;text-align:center}.expense-column-merchant{width:150px;min-width:150px;text-align:left}.expense-column-description{width:200px;min-width:200px;text-align:left}.expense-column-job_no{width:120px;min-width:120px;text-align:center}.expense-column-job_task_no{width:100px;min-width:100px;text-align:center}.expense-column-expense_concept_code{width:120px;min-width:120px;text-align:center}.expense-column-amount,.expense-column-vat_amount{width:100px;min-width:100px;text-align:right}.expense-column-total{width:100px;min-width:100px;text-align:right;font-weight:600}.expense-column-pdf{width:80px;min-width:80px;text-align:center}.expense-column-actions{width:120px;min-width:120px;text-align:center}.expense-totals{margin-top:16px;padding:16px;background-color:#f8f9fa;border-radius:4px;border:1px solid #e9ecef}.expense-totals>div{display:flex;justify-content:space-between;font-size:14px;font-weight:600;color:#495057}.expense-action-btn{padding:4px 8px;font-size:12px;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s ease}.expense-action-btn--edit{background-color:#007bff;color:#fff}.expense-action-btn--edit:hover{background-color:#0056b3}.expense-action-btn--delete{background-color:#dc3545;color:#fff}.expense-action-btn--delete:hover{background-color:#c82333}.expense-add-btn{padding:12px 24px;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s ease}.expense-add-btn:hover{background-color:#218838}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-container{padding:20px;text-align:center;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24}.expense-header-container{padding:20px;border:1px solid #ddd;border-radius:8px;background-color:#fff;margin-bottom:20px}.expense-header-grid{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:16px;align-items:end;font-size:14px}.expense-header-field{display:flex;flex-direction:column}.expense-header-label{display:block;font-weight:600;margin-bottom:4px;font-size:14px}.expense-header-input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box}.expense-header-readonly{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#f5f5f5;color:#666;text-transform:capitalize}.expense-header-total{text-align:right;text-transform:none}.expense-header-total-lines{font-size:12px;color:#999;margin-left:8px}.expense-header-save{display:flex;align-items:flex-end}.expense-header-save .ts-btn{width:100%;min-height:44px}@media (max-width: 1024px){.expense-header-grid{grid-template-columns:1fr 1fr}}@media (max-width: 768px){.expense-header-grid{grid-template-columns:1fr;gap:12px}.expense-header-container{padding:16px}.expense-header-save{margin-top:8px}.expense-header-save .ts-btn{width:100%}}@media (max-width: 480px){.expense-header-container{padding:12px}.expense-header-label{font-size:12px}.expense-header-input,.expense-header-readonly{font-size:12px;padding:6px 10px}}.expense-col-mobile-hidden{display:table-cell}@media (max-width: 768px){.expense-lines-table-wrapper{max-height:50vh}.ts-lines-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.expense-col-mobile-hidden{display:none!important}.ts-lines-wrap .ts-table{min-width:auto!important;width:100%!important;table-layout:auto!important}.ts-th,.ts-td{padding:4px 2px!important;font-size:11px!important}.ts-input{font-size:11px!important;padding:0 2px!important}.ts-td button{min-width:44px;min-height:44px;padding:8px!important}.expense-totals>div{flex-direction:column;gap:8px;text-align:center}}@media (max-width: 480px){.ts-lines-wrap .ts-table{min-width:auto!important;width:100%!important;table-layout:auto!important}.ts-th,.ts-td{padding:3px 1px!important;font-size:10px!important}.ts-input{font-size:10px!important}}.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}.font-weight-bold{font-weight:600}.font-weight-normal{font-weight:400}.text-muted{color:#6c757d}.text-success{color:#28a745}.text-danger{color:#dc3545}.text-warning{color:#ffc107}.text-info{color:#17a2b8}.expense-pdf-link{color:#007bff;text-decoration:none;font-size:12px}.expense-pdf-link:hover{color:#0056b3;text-decoration:underline}.expense-modal .modal-content{max-width:800px}.expense-modal .modal-body{padding:20px}.expense-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.expense-form-field{display:flex;flex-direction:column}.expense-form-field label{display:block;margin-bottom:4px;font-weight:600;font-size:14px;color:#495057}.expense-form-field input,.expense-form-field select,.expense-form-field textarea{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .2s ease}.expense-form-field input:focus,.expense-form-field select:focus,.expense-form-field textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.expense-form-field--full{grid-column:1 / -1}.expense-modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.expense-modal-btn{padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.expense-modal-btn--secondary{background-color:#6c757d;color:#fff}.expense-modal-btn--secondary:hover{background-color:#5a6268}.expense-modal-btn--primary{background-color:#007bff;color:#fff}.expense-modal-btn--primary:hover{background-color:#0056b3}.expense-modal-btn--success{background-color:#28a745;color:#fff}.expense-modal-btn--success:hover{background-color:#218838}.expense-modal-btn:disabled{opacity:.6;cursor:not-allowed}
