/*! 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.resize{resize:both}.list-disc{list-style-type:disc}.border{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.italic{font-style:italic}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.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{height:100%}body{height:100vh;margin:0;overflow:auto}#root{min-height:100%}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-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/my-timesheet-app/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/my-timesheet-app/assets/inter-cyrillic-400-normal-obahsSVq.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-cyrillic-400-normal-HOLc17fK.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/my-timesheet-app/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-greek-ext-400-normal-KugGGMne.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/my-timesheet-app/assets/inter-greek-400-normal-B4URO6DV.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-greek-400-normal-q2sYcFCs.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/my-timesheet-app/assets/inter-vietnamese-400-normal-DMkecbls.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/my-timesheet-app/assets/inter-latin-ext-400-normal-C1nco2VV.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-latin-ext-400-normal-77YHD8bZ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/my-timesheet-app/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/my-timesheet-app/assets/inter-cyrillic-ext-500-normal-B0yAr1jD.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-cyrillic-ext-500-normal-BmqWE9Dz.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/my-timesheet-app/assets/inter-cyrillic-500-normal-BasfLYem.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-cyrillic-500-normal-CxZf_p3X.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/my-timesheet-app/assets/inter-greek-ext-500-normal-C4iEst2y.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-greek-ext-500-normal-2j5mBUwD.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/my-timesheet-app/assets/inter-greek-500-normal-BIZE56-Y.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-greek-500-normal-Xzm54t5V.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/my-timesheet-app/assets/inter-vietnamese-500-normal-DOriooB6.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-vietnamese-500-normal-mJboJaSs.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/my-timesheet-app/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-latin-ext-500-normal-BxGbmqWO.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/my-timesheet-app/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/my-timesheet-app/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/my-timesheet-app/assets/inter-cyrillic-600-normal-CWCymEST.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-cyrillic-600-normal-4D_pXhcN.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/my-timesheet-app/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-greek-ext-600-normal-B8X0CLgF.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/my-timesheet-app/assets/inter-greek-600-normal-plRanbMR.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-greek-600-normal-BZpKdvQh.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/my-timesheet-app/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-vietnamese-600-normal-BuLX-rYi.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/my-timesheet-app/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-latin-ext-600-normal-CIVaiw4L.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/my-timesheet-app/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/my-timesheet-app/assets/inter-cyrillic-ext-700-normal-BjwYoWNd.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-cyrillic-ext-700-normal-LO58E6JB.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/my-timesheet-app/assets/inter-cyrillic-700-normal-CjBOestx.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-cyrillic-700-normal-DrXBdSj3.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/my-timesheet-app/assets/inter-greek-ext-700-normal-qfdV9bQt.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-greek-ext-700-normal-BoQ6DsYi.woff) format("woff");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/my-timesheet-app/assets/inter-greek-700-normal-C3JjAnD8.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-greek-700-normal-BUv2fZ6O.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/my-timesheet-app/assets/inter-vietnamese-700-normal-DlLaEgI2.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-vietnamese-700-normal-BZaoP0fm.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/my-timesheet-app/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-latin-ext-700-normal-TidjK2hL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/my-timesheet-app/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/my-timesheet-app/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.ts-modal--xlarge{max-width:95vw!important;width:95%!important}.ts-modal h3{margin:0 0 12px!important;color:#000!important;font-size:16px!important;font-weight:600!important;display:flex!important;align-items:center!important;gap:8px!important;line-height:1.2!important}.ts-modal-content{margin:0 0 16px!important;color:#444!important;line-height:1.3!important;font-size:14px!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:14px!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}.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}.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 h1{color:#007e87;margin:0;font-size:1.25rem;font-weight:600;line-height:1;position:relative;top:-1px}.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}.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}.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{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 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 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-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-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-left:1px!important;padding-top:0!important;padding-bottom:0!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-td[data-col=job_no_description]{height:auto!important;min-height:24px!important;max-height:none!important;line-height:inherit!important;vertical-align:top!important}.ts-td[data-col=job_no_description] .ts-readonly--wrap{width:100%;min-height:20px;height:auto;padding:2px 4px;box-sizing:border-box;text-align:inherit;font-family:inherit;font-size:inherit;line-height:1.3;color:inherit;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;display:block;align-items:unset}.ts-cell{position:relative;width:100%}.ts-icon{cursor:pointer;color:#666;font-size:14px}.ts-icon:hover{color:#007bff}.ts-icon--calendar{position:absolute;right:6px;top:50%;transform:translateY(-50%);margin:0;pointer-events:auto}.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;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.dash--allow-scroll{height:auto;min-height:95vh;overflow:visible}.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)}:root{--bc-teal-light: #19a0ac;--bc-hover: #f0f4f5;--text-primary: #333333;--text-secondary: #666666;--text-muted: #888888;--border-light: #e5e7eb;--border-medium: #d1d5db;--success: #10b981;--success-bg: #d1fae5;--warning: #f59e0b;--warning-bg: #fef3c7;--danger: #ef4444;--danger-bg: #fee2e2;--info: #3b82f6;--info-bg: #dbeafe}.unified-header{background:var(--bc-white);padding:12px 24px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light)}.app-logo{display:flex;align-items:center;gap:12px;font-weight:700;font-size:20px;color:var(--bc-teal)}.logo-icon{width:auto;height:40px;-o-object-fit:contain;object-fit:contain;display:block}.header-actions{display:flex;align-items:center;gap:16px}.header-info,.header-version{font-size:.8rem;color:#666;background-color:#f5f5f5;padding:4px 8px;border-radius:4px;border:1px solid #ddd}.user-avatar-btn{border:1px solid #ddd;background:#fff;border-radius:9999px;padding:0;width:36px;height:36px;cursor:pointer;overflow:hidden}.user-avatar-initial{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#e5e7eb;font-weight:700;color:#333}.user-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 8px 24px #0000001f;padding:8px;z-index:1000}.user-menu-header{display:flex;align-items:center;gap:10px;padding:8px}.user-menu-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:1px solid #ddd}.user-menu-info{display:flex;flex-direction:column}.user-menu-divider{height:1px;background:#f3f4f6;margin:4px 0}.user-menu-item{width:100%;text-align:left;padding:10px 12px;background:transparent;border:none;cursor:pointer;font-size:14px;color:#333}.user-menu-item:hover{background:#f5f5f5}.unified-dashboard.dash{margin-top:0;height:100%;min-height:0}.dashboard-content{display:grid;grid-template-columns:250px 1fr;flex:1;min-height:0;overflow:hidden}.sidebar{background:var(--bc-white);padding:20px 0;border-right:1px solid var(--border-light);overflow-y:auto}.sidebar-section{margin-bottom:24px}.sidebar-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);padding:0 20px;margin-bottom:8px}.sidebar-item{display:flex;align-items:center;gap:12px;padding:12px 20px;color:var(--text-secondary);cursor:pointer;transition:all .2s;border-left:3px solid transparent;text-decoration:none}.sidebar-item:hover{background:var(--bc-hover);color:var(--bc-teal)}.sidebar-item.active{background:#007c8914;color:var(--bc-teal);border-left-color:var(--bc-teal);font-weight:600}.sidebar-item .badge{margin-left:auto;background:var(--danger);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:10px}.sidebar-item .badge.warning{background:var(--warning)}.sidebar-item .badge.info{background:var(--info)}.main-content{padding:24px;background:var(--bc-bg);overflow-y:auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.page-title{font-size:24px;font-weight:700;color:var(--bc-teal-light);margin:0}.stats-section{margin-bottom:16px}.stats-section-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;display:flex;align-items:center;gap:6px}.section-box{border:1px solid var(--border-light);border-radius:8px;padding:10px;background:transparent}.combined-stats-row{display:grid;grid-template-columns:3fr 2fr;gap:12px}.stats-grid{display:grid;gap:10px;margin-bottom:0}.stats-grid.grid-3-cols{grid-template-columns:repeat(3,1fr)}.stats-grid.grid-2-cols{grid-template-columns:repeat(2,1fr)}.stats-grid:not(.grid-3-cols):not(.grid-2-cols){grid-template-columns:repeat(4,1fr)}.stat-card{background:var(--bc-teal);border-radius:4px;padding:10px 12px;color:#fff;border:1px solid var(--bc-teal-dark);height:70px;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:background .2s}.stat-card:hover{background:var(--bc-teal-dark)}.stat-card.warning{background:var(--warning);border-color:#d97706}.stat-card.warning:hover{background:#d97706}.stat-card.success{background:var(--success);border-color:#059669}.stat-card.success:hover{background:#059669}.stat-card.danger{background:var(--danger);border-color:#dc2626}.stat-card.danger:hover{background:#dc2626}.stat-card.info{background:var(--info);border-color:#2563eb}.stat-card.info:hover{background:#2563eb}.stat-label{font-size:12px;font-weight:600;letter-spacing:.25px;line-height:1.25;opacity:.96;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none}.stat-value{font-size:20px;font-weight:400;letter-spacing:.3px;line-height:1.1}.stat-value-small{font-size:12px;font-weight:600;letter-spacing:.25px;line-height:1.25;opacity:.96;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stat-footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:2px}.stat-footer span{font-size:12px;font-weight:600;letter-spacing:.25px;line-height:1.25;opacity:.96;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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:14px!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:14px!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:12px!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--danger:hover{background-color:#008489!important;color:#fff!important}.ts-btn--primary:hover{background-color:#008489!important;color:#fff!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:12px;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}.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:12px!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--primary{background-color:#fff!important;color:#008489!important;border-color:#008489!important}.ts-btn--primary:hover:not(:disabled){background-color:#008489!important;color:#fff!important}.ts-btn--primary:disabled{opacity:.6!important;cursor:not-allowed!important}.ts-btn--secondary{background-color:#fff!important;color:#444!important;border-color:#c1c1c1!important}.ts-btn--secondary:hover:not(:disabled){background-color:#f8f8f8!important;border-color:#999!important}.ts-btn--danger{background-color:#fff!important;color:#008489!important;border-color:#008489!important}.ts-btn--danger:hover:not(:disabled){background-color:#008489!important;color:#fff!important}.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}.expense-chat-panel{display:flex;flex-direction:column;height:100%;min-height:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff;overflow:hidden}.expense-chat-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#008489,#006a6e)}.expense-chat-header h3{margin:0;font-size:14px;font-weight:600;color:#fff}.expense-chat-reset-btn{border:1px solid rgba(255,255,255,.4);background:#ffffff26;color:#fff;border-radius:4px;padding:4px 8px;cursor:pointer;font-size:12px}.expense-chat-context-badge{margin:8px 10px 0;padding:6px 8px;border-radius:6px;background:#e8f5e9;color:#2e7d32;font-size:12px;font-weight:600}.expense-chat-messages{flex:1;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:10px;background:#f8fafc}.expense-chat-message{display:flex;gap:8px}.expense-chat-message.user{flex-direction:row-reverse}.expense-chat-avatar{width:30px;height:30px;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;box-shadow:0 1px 3px #0000001f}.expense-chat-content{max-width:85%;display:flex;flex-direction:column;gap:3px}.expense-chat-text{border-radius:10px;padding:8px 10px;font-size:13px;line-height:1.4;white-space:pre-line;word-break:break-word}.expense-chat-message.user .expense-chat-text{background:#008489;color:#fff;border-bottom-right-radius:4px}.expense-chat-message.assistant .expense-chat-text{background:#fff;border:1px solid #e2e8f0;color:#334155;border-bottom-left-radius:4px}.expense-chat-time{font-size:10px;color:#94a3b8}.expense-chat-message.user .expense-chat-time{text-align:right}.expense-chat-typing{display:flex;gap:4px}.expense-chat-typing span{width:6px;height:6px;border-radius:50%;background-color:#94a3b8;animation:expense-chat-typing 1.2s infinite}.expense-chat-typing span:nth-child(2){animation-delay:.2s}.expense-chat-typing span:nth-child(3){animation-delay:.4s}@keyframes expense-chat-typing{0%,60%,to{transform:translateY(0);opacity:.6}30%{transform:translateY(-5px);opacity:1}}.expense-chat-input-wrap{border-top:1px solid #e2e8f0;padding:10px;background:#fff;display:flex;gap:8px;align-items:flex-end}.expense-chat-input{flex:1;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;padding:8px;resize:none;min-height:44px;max-height:100px}.expense-chat-input:focus{outline:none;border-color:#008489;box-shadow:0 0 0 2px #0084891a}.expense-chat-send-btn{width:42px;height:42px;border:none;border-radius:999px;background:#008489;color:#fff;cursor:pointer;font-size:16px}.expense-chat-send-btn:disabled{opacity:.5;cursor:not-allowed}.expense-chat-progress{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:10px 12px;min-width:180px}.expense-chat-progress-bar{height:6px;background:#e2e8f0;border-radius:3px;overflow:hidden;margin-bottom:6px}.expense-chat-progress-fill{height:100%;background:#008489;border-radius:3px;transition:width .3s ease}.expense-chat-progress-fill--error{background:#dc2626}.expense-chat-progress-text{font-size:12px;color:#1565c0}.expense-chat-progress-text--error{color:#dc2626}.ts-modal:has(.upload-modal__preview-card){max-width:92vw!important;width:92vw!important;max-height:85vh!important;height:85vh!important;display:flex!important;flex-direction:column!important}.ts-modal:has(.upload-modal__preview-card) .ts-modal-content{padding:8px 12px!important;margin:0!important;flex:1 1 auto!important;overflow:hidden!important;min-height:0!important}.upload-modal__body{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;box-sizing:border-box}.upload-modal__preview-card{border:1px solid #e2e8f0;border-radius:6px;padding:8px 10px;background-color:#f8fafc;width:100%;flex:1 1 auto;display:flex;flex-direction:column;min-height:0;box-sizing:border-box}.upload-modal__file-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;flex-shrink:0}.upload-modal__file-info{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.upload-modal__file-label{font-weight:700;color:#059669;white-space:nowrap;flex-shrink:0;font-size:13px}.upload-modal__file-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.upload-modal__columns{display:flex;flex-direction:row;gap:10px;flex:1 1 auto;min-height:0}.upload-modal__col-preview{flex:2;display:flex;flex-direction:column;min-width:0;min-height:0}.upload-modal__col-preview>:first-child{flex:1 1 auto;min-height:0;overflow:hidden}.upload-modal__col-chat{flex:1;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.upload-modal__actions{display:flex;gap:8px;margin-top:6px;justify-content:flex-end;flex-shrink:0}.upload-modal__progress{padding:6px 10px;margin-top:6px;border-radius:6px;flex-shrink:0}.upload-modal__progress--ok{background-color:#e3f2fd}.upload-modal__progress--error{background-color:#fee2e2}.upload-modal__progress-bar-wrap{display:flex;align-items:center;gap:8px}.upload-modal__progress-track{flex:1;height:5px;border-radius:3px;overflow:hidden}.upload-modal__progress-track--ok{background-color:#bbdefb}.upload-modal__progress-track--error{background-color:#fecaca}.upload-modal__progress-fill{height:100%;border-radius:3px;transition:width .3s ease-in-out}.upload-modal__progress-fill--ok{background-color:#1976d2}.upload-modal__progress-fill--error{background-color:#dc2626}.upload-modal__progress-percent{font-size:11px;color:#64748b;min-width:32px}.upload-modal__progress-message{font-size:11px;margin-top:2px}.upload-modal__progress-message--ok{color:#1565c0}.upload-modal__progress-message--error{color:#dc2626}.upload-modal__picker-buttons{display:flex;gap:8px;flex-wrap:wrap}.upload-modal__dropzone{border:1px dashed #cbd5e1;border-radius:6px;padding:16px;text-align:center;color:#64748b;background:#f8fafc}.upload-modal__camera-video{width:100%;border-radius:6px;background:#000}.expense-approval-modal{padding:8px 0}.expense-approval-modal__header-info{background:#f8f9fa;border-radius:8px;padding:12px 16px;margin-bottom:16px;border:1px solid #e9ecef}.expense-approval-modal__header-info h4{margin:0 0 8px;font-size:1rem;color:#333}.expense-approval-modal__meta{display:flex;gap:16px;flex-wrap:wrap;font-size:.875rem;color:#666}.expense-approval-modal__meta strong{color:#007e87}.expense-approval-modal__form{display:flex;flex-direction:column;gap:12px}.expense-approval-modal__description{margin:0;color:#555;font-size:.95rem}.expense-approval-modal__description--warning{color:#dc3545;font-weight:500}.expense-approval-modal__label{display:flex;flex-direction:column;gap:6px;font-weight:500;color:#333;font-size:.875rem}.expense-approval-modal__label--required:after{content:" *";color:#dc3545}.expense-approval-modal__textarea{padding:10px 12px;border:1px solid #ddd;border-radius:6px;font-size:.875rem;resize:vertical;min-height:80px;font-family:inherit;transition:border-color .2s}.expense-approval-modal__textarea:focus{outline:none;border-color:#007e87;box-shadow:0 0 0 2px #007e871a}.expense-approval-modal__error{margin:0;color:#dc3545;font-size:.8rem}.expense-approval-modal__history{max-height:450px;overflow-y:auto}.expense-approval-modal__loading,.expense-approval-modal__empty{text-align:center;color:#666;padding:24px 0}.expense-approval-modal__filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e9ecef}.expense-approval-modal__filter-pill{padding:4px 10px;border-radius:16px;border:1px solid #dee2e6;background:#fff;color:#495057;font-size:.75rem;cursor:pointer;transition:all .15s ease;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.expense-approval-modal__filter-pill:hover{background:#f0f7f7;border-color:#007e87;color:#007e87}.expense-approval-modal__filter-pill--active{background:#007e87;border-color:#007e87;color:#fff;font-weight:500}.expense-approval-modal__filter-pill--active:hover{background:#006670;color:#fff}.expense-approval-modal__history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.expense-approval-modal__history-item{display:flex;gap:10px;padding:10px 12px;background:#f8f9fa;border-radius:8px;border-left:3px solid #ddd;transition:background-color .15s ease}.expense-approval-modal__history-item--highlighted{background:#f0f7f7}.expense-approval-modal__history-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.expense-approval-modal__history-content{flex:1;display:flex;flex-direction:column;gap:2px}.expense-approval-modal__history-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.expense-approval-modal__history-content strong{font-size:.85rem}.expense-approval-modal__history-line-label{font-size:.78rem;color:#007e87;background:#f0f7f7;padding:1px 6px;border-radius:4px;display:inline-block;width:-moz-fit-content;width:fit-content}.expense-approval-modal__history-user{font-size:.78rem;color:#666}.expense-approval-modal__history-date{font-size:.72rem;color:#999;white-space:nowrap;flex-shrink:0}.expense-approval-modal__history-reason{margin:6px 0 0;padding:6px 10px;background:#fff;border-radius:4px;font-size:.82rem;color:#555;font-style:italic;border:1px solid #e9ecef}.expense-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}.expense-approval-page 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-headers{margin-bottom:16px}.approval-headers h2{color:#007e87;margin-bottom:8px;font-size:1.1rem}.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,.empty-state{text-align:center;padding:40px;color:#666;font-size:1.1rem}.loading-container,.error-container{text-align:center;padding:40px;color:#666}.error-container{color:#d32f2f}@media (max-width: 768px){.expense-approval-page{padding:10px}.approval-header{flex-direction:column;gap:12px;align-items:flex-start}.lines-header{flex-direction:column;gap:15px;align-items:flex-start}}.workflow-list-page{padding:20px;max-width:100%;background-color:#f4f6f8}.workflow-list-page__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.workflow-list-page__header-left{display:flex;align-items:center;gap:12px;flex:1}.workflow-list-page__title{color:#007c89;margin:0;font-size:1.25rem;font-weight:600}.workflow-list-page__refresh-btn{padding:8px 16px;border:none;background-color:#007c89;color:#fff;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .15s}.workflow-list-page__refresh-btn:hover{background-color:#006b77}.workflow-list-page__refresh-btn:disabled{background-color:#ccc;cursor:not-allowed}.workflow-stats{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.workflow-stats__stat{background-color:#fff;border-radius:8px;padding:16px 20px;min-width:100px;text-align:center;box-shadow:0 1px 3px #0000001a}.workflow-stats__stat--warning{border-left:4px solid #ffc107}.workflow-stats__stat--success{border-left:4px solid #28a745}.workflow-stats__stat--danger{border-left:4px solid #dc3545;background-color:#fff5f5}.workflow-stats__stat--info{border-left:4px solid #17a2b8}.workflow-stats__value{display:block;font-size:24px;font-weight:700;color:#212529}.workflow-stats__label{display:block;font-size:12px;color:#6c757d;margin-top:4px}.workflow-filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.workflow-filters__search{flex:1;min-width:200px;padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px}.workflow-filters__search:focus{border-color:#007c89;outline:none;box-shadow:0 0 0 3px #007c891a}.workflow-filters__filter{padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;min-width:150px}.workflow-filters__filter:focus{border-color:#007c89;outline:none}.workflow-filters__view-toggle{display:flex;gap:4px;background-color:#fff;border:1px solid #ddd;border-radius:4px;padding:4px}.workflow-filters__view-btn{padding:6px 12px;border:none;background-color:transparent;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.workflow-filters__view-btn:hover{background-color:#f0f0f0}.workflow-filters__view-btn.active{background-color:#007c89;color:#fff}.workflow-tabs{display:flex;gap:4px;margin-bottom:20px;border-bottom:2px solid #e9ecef;background-color:#fff;padding:0 20px;border-radius:8px 8px 0 0}.workflow-tabs__tab{padding:12px 20px;border:none;background-color:transparent;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;border-bottom:3px solid transparent;transition:all .15s;position:relative;top:2px}.workflow-tabs__tab:hover{color:#007c89;background-color:#f8f9fa}.workflow-tabs__tab.active{color:#007c89;border-bottom-color:#007c89}.workflow-tabs__badge{display:inline-block;margin-left:6px;padding:2px 6px;background-color:#e9ecef;border-radius:10px;font-size:11px;font-weight:600}.workflow-tabs__tab.active .workflow-tabs__badge{background-color:#007c89;color:#fff}.workflow-table-container{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.workflow-table{width:100%;border-collapse:collapse}.workflow-table thead{background-color:#f5f7f9}.workflow-table th{padding:14px 16px;text-align:left;font-weight:600;font-size:13px;color:#495057;border-bottom:2px solid #e9ecef}.workflow-table__row{cursor:pointer;transition:background-color .15s}.workflow-table__row:hover{background-color:#f8f9fa}.workflow-table__cell{padding:14px 16px;font-size:14px;border-bottom:1px solid #e9ecef}.workflow-table__cell--actions{white-space:nowrap}.workflow-table__status{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;display:inline-block}.workflow-table__status--pending{background-color:#fff3e0;color:#e65100}.workflow-table__status--in_progress{background-color:#e3f2fd;color:#1565c0}.workflow-table__status--completed{background-color:#e8f5e9;color:#2e7d32}.workflow-table__status--rejected{background-color:#ffebee;color:#c62828}.workflow-table__btn{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:14px;margin-right:4px;transition:all .15s}.workflow-table__btn--edit{background-color:#007c89;color:#fff}.workflow-table__btn--edit:hover{background-color:#006b77}.workflow-table__btn--delete{background-color:#dc3545;color:#fff}.workflow-table__btn--delete:hover{background-color:#c82333}.workflow-kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;min-height:500px}.workflow-kanban__column{background-color:#e9ecef;border-radius:8px;padding:12px;display:flex;flex-direction:column}.workflow-kanban__column-title{font-size:14px;font-weight:600;color:#495057;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #dee2e6}.workflow-kanban__column-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.workflow-kanban__card{background-color:#fff;border-radius:6px;padding:12px;box-shadow:0 1px 2px #0000001a;cursor:pointer;transition:all .15s}.workflow-kanban__card:hover{box-shadow:0 3px 6px #00000026;transform:translateY(-1px)}.workflow-kanban__card-title{font-size:13px;font-weight:500;color:#212529;line-height:1.3;word-break:break-word;margin-bottom:8px}.workflow-kanban__card-meta{display:flex;justify-content:space-between;font-size:11px;color:#6c757d;margin-bottom:8px}.workflow-kanban__card-actions{display:flex;gap:4px;margin-top:8px}.workflow-kanban__card-btn{flex:1;padding:6px;border:1px solid #ddd;background-color:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.workflow-kanban__card-btn:hover{background-color:#007c89;border-color:#007c89;color:#fff}.workflow-list-page__error{background-color:#f8d7da;color:#721c24;padding:16px;border-radius:8px;margin-bottom:20px}.workflow-list-page__loading{text-align:center;padding:60px;color:#6c757d;font-size:16px}.workflow-list-page__empty{text-align:center;padding:40px;color:#6c757d;background-color:#fff;border-radius:8px}.workflow-list-page__info{background-color:#e3f2fd;padding:16px;border-radius:8px;color:#1976d2;font-size:14px;margin-bottom:20px}@media (max-width: 1200px){.workflow-kanban{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.workflow-kanban{grid-template-columns:1fr}.workflow-list-page__header{flex-direction:column;align-items:flex-start}.workflow-filters{flex-direction:column}.workflow-filters__filter,.workflow-filters__search{width:100%}.workflow-stats{flex-wrap:wrap;justify-content:center}.workflow-table-container{overflow-x:auto}.workflow-tabs{flex-direction:column;padding:0}.workflow-tabs__tab{border-bottom:1px solid #e9ecef;border-left:3px solid transparent}.workflow-tabs__tab.active{border-left-color:#007c89;border-bottom-color:#e9ecef}}.new-request-page .main-content{max-width:1200px;margin:0 auto;padding:32px 24px}.new-request-page .page-header{margin-bottom:32px}.new-request-page .page-title{font-size:28px;font-weight:700;color:var(--bc-teal-light, #19a0ac);margin-bottom:8px}.new-request-page .page-subtitle{font-size:14px;color:var(--text-muted, #888888)}.search-container{margin-bottom:24px}.search-box{position:relative;max-width:500px}.search-input{width:100%;padding:12px 16px 12px 44px;border:2px solid var(--border-light, #e5e7eb);border-radius:8px;font-size:15px;color:var(--text-primary, #333333);background:var(--bc-white, #ffffff);transition:all .2s;font-family:inherit}.search-input:focus{outline:none;border-color:var(--bc-teal, #007c89);box-shadow:0 0 0 3px #007c891a}.search-input::-moz-placeholder{color:var(--text-muted, #888888)}.search-input::placeholder{color:var(--text-muted, #888888)}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--text-muted, #888888);font-size:18px;pointer-events:none}.search-results-info{margin-top:12px;font-size:14px;color:var(--text-muted, #888888)}.search-results-info strong{color:var(--bc-teal, #007c89);font-weight:600}.workflows-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:24px}.workflow-card{background:var(--bc-white, #ffffff);border:2px solid var(--border-light, #e5e7eb);border-radius:8px;padding:24px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;min-height:200px}.workflow-card:hover{border-color:var(--bc-teal, #007c89);box-shadow:0 4px 12px #007c8926;transform:translateY(-2px)}.workflow-card:active{transform:translateY(0)}.workflow-card:focus{outline:2px solid var(--bc-teal, #007c89);outline-offset:2px}.workflow-icon{width:56px;height:56px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:16px;background:var(--bc-teal, #007c89);color:#fff}.workflow-icon.vacaciones{background:linear-gradient(135deg,#10b981,#059669)}.workflow-icon.permiso{background:linear-gradient(135deg,#3b82f6,#2563eb)}.workflow-icon.ausencia{background:linear-gradient(135deg,#f59e0b,#d97706)}.workflow-icon.otro{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.workflow-name{font-size:18px;font-weight:600;color:var(--text-primary, #333333);margin-bottom:8px}.workflow-description{font-size:14px;color:var(--text-secondary, #666666);line-height:1.5;flex:1;margin-bottom:16px}.workflow-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--text-muted, #888888);padding-top:16px;border-top:1px solid var(--border-light, #e5e7eb)}.workflow-version{background:var(--bc-bg, #f5f7f9);padding:4px 8px;border-radius:4px;font-weight:500}.workflow-arrow{margin-left:auto;color:var(--bc-teal, #007c89);font-size:18px;font-weight:600}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 24px;color:var(--text-muted, #888888)}.loading-spinner{width:48px;height:48px;border:4px solid var(--border-light, #e5e7eb);border-top-color:var(--bc-teal, #007c89);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{to{transform:rotate(360deg)}}.loading-spinner{animation:spin 1s linear infinite}.empty-state{text-align:center;padding:80px 24px;background:var(--bc-white, #ffffff);border-radius:8px;border:1px solid var(--border-light, #e5e7eb)}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-title{font-size:18px;font-weight:600;color:var(--text-primary, #333333);margin-bottom:8px}.empty-description{font-size:14px;color:var(--text-muted, #888888)}.error-state{background:var(--danger-bg, #fee2e2);border:1px solid var(--danger, #ef4444);border-radius:8px;padding:20px;margin-bottom:24px}.error-title{font-size:16px;font-weight:600;color:var(--danger, #ef4444);margin-bottom:8px}.error-message{font-size:14px;color:#991b1b}.no-results{text-align:center;padding:60px 24px;background:var(--bc-white, #ffffff);border-radius:8px;border:1px solid var(--border-light, #e5e7eb)}.no-results-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-results-title{font-size:16px;font-weight:600;color:var(--text-primary, #333333);margin-bottom:8px}.no-results-description{font-size:14px;color:var(--text-muted, #888888)}.workflows-grid{display:grid;gap:20px;width:100%;box-sizing:border-box}@media (max-width: 640px){.workflows-grid{grid-template-columns:1fr!important}}@media (min-width: 641px) and (max-width: 1024px){.workflows-grid{grid-template-columns:repeat(2,1fr)!important}}@media (min-width: 1025px){.workflows-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))!important}}.workflow-state-indicator{margin-bottom:12px;padding:8px 12px;background:#f8f9fa;border-radius:6px;border:1px solid #e0e0e0}.workflow-states-container{display:flex;align-items:center;gap:4px;width:100%;justify-content:space-between}.workflow-state{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:0;padding:0 4px}.workflow-state-circle{width:28px;height:28px;border-radius:50%;background:#e0e0e0;border:2px solid #bdbdbd;display:flex;align-items:center;justify-content:center;font-weight:700;color:#666;transition:all .3s ease;position:relative;z-index:2;flex-shrink:0}.workflow-state.active .workflow-state-circle{background:#007e87;border-color:#007e87;color:#fff;box-shadow:0 0 0 3px #007e8726;transform:scale(1.05)}.workflow-state.completed .workflow-state-circle{background:#107c10;border-color:#107c10;color:#fff}.workflow-state-label{margin-top:4px;font-size:.7rem;color:#666;text-align:center;font-weight:500;line-height:1.1;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 2px}.workflow-state.active .workflow-state-label{color:#007e87;font-weight:600}.workflow-state.completed .workflow-state-label{color:#107c10}.check-icon{font-size:14px;font-weight:700;line-height:1}.workflow-state-connector{position:absolute;top:14px;left:calc(50% + 14px);right:calc(-50% + 14px);height:2px;background:#e0e0e0;z-index:1}.workflow-state-connector.completed{background:#107c10}@media (max-width: 768px){.workflow-state-indicator{padding:6px 8px;margin-bottom:10px}.workflow-states-container{gap:2px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.workflow-states-container::-webkit-scrollbar{height:4px}.workflow-states-container::-webkit-scrollbar-thumb{background:#ccc;border-radius:2px}.workflow-state{min-width:80px;flex:0 0 auto}.workflow-state-circle{width:24px;height:24px}.workflow-state-label{font-size:.65rem;margin-top:3px}.check-icon{font-size:12px}.workflow-state-connector{top:12px;left:calc(50% + 12px);right:calc(-50% + 12px);height:2px}}.dynamic-form-container{padding:6px 8px;max-width:100%;overflow-x:hidden;box-sizing:border-box}.dynamic-form-header{display:flex;align-items:center;gap:8px;margin-bottom:6px}.dynamic-form-header h1{margin:0;font-size:1.2rem;color:#333}.model-name{font-size:.8rem;color:#666;font-style:italic}.dynamic-form{display:flex;flex-direction:column;gap:8px}.dynamic-section{border:1px solid #ddd;border-radius:4px;padding:6px;background:#fff}.section-title{margin:0 0 4px;font-size:1rem;color:#333;border-bottom:1px solid #0078d4;padding-bottom:3px}.section-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:6px}.dynamic-field{display:flex;flex-direction:column;gap:1px}.dynamic-label{font-weight:500;color:#333;font-size:.78rem;line-height:1.15;margin-bottom:0}.required{color:#d32f2f;margin-left:3px}.dynamic-input,.dynamic-textarea,.dynamic-select{padding:3px 8px;border:1px solid #ddd;border-radius:3px;font-size:.88rem;font-family:inherit;line-height:1.3}.dynamic-input:focus,.dynamic-textarea:focus,.dynamic-select:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.dynamic-input.error,.dynamic-textarea.error,.dynamic-select.error{border-color:#d32f2f}.field-error{color:#d32f2f;font-size:.78rem;margin-top:0;line-height:1.15}.dynamic-checkbox-wrapper{display:flex;align-items:center;gap:6px}.dynamic-checkbox{width:16px;height:16px;cursor:pointer}.checkbox-label{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:.82rem;line-height:1.2}.checklist-groups{margin-top:4px;padding-top:4px;border-top:1px solid #eee}.checklist-group{margin-bottom:3px}.checklist-items{display:grid;grid-template-columns:repeat(4,1fr);gap:4px 10px;align-items:start}.checklist-item{display:flex;align-items:center;gap:4px;min-width:0}.checklist-item label{flex:1;min-width:0;word-wrap:break-word;overflow-wrap:break-word;line-height:1.2;font-size:.82rem}@media (max-width: 1200px){.checklist-items{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.checklist-items{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.checklist-items{grid-template-columns:1fr}}.dynamic-actions{display:flex;gap:6px;justify-content:flex-end;padding:6px 0;border-top:1px solid #ddd;margin-top:6px}.btn{padding:5px 12px;border:none;border-radius:3px;font-size:.85rem;cursor:pointer;transition:background-color .2s;display:flex;align-items:center;gap:4px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background-color:#0078d4;color:#fff}.btn-primary:hover:not(:disabled){background-color:#106ebe}.btn-success{background-color:#107c10;color:#fff}.btn-success:hover:not(:disabled){background-color:#0e6b0e}.btn-danger{background-color:#d32f2f;color:#fff}.btn-danger:hover:not(:disabled){background-color:#c62828}.btn-secondary{background-color:#f3f3f3;color:#333;border:1px solid #ddd}.btn-secondary:hover:not(:disabled){background-color:#e0e0e0}.btn-icon{font-size:1.1rem}.dynamic-form-loading,.dynamic-form-error{padding:40px;text-align:center}.dynamic-form-error{color:#d32f2f}.no-sections{padding:40px;text-align:center;color:#666}@media (max-width: 768px){.section-fields{grid-template-columns:1fr}.dynamic-actions{flex-direction:column}.btn{width:100%;justify-content:center}}@media (max-width: 1500px){.dynamic-form-container{padding:5px 8px}.dynamic-form{gap:6px}.dynamic-section{padding:5px}.section-title{margin:0 0 3px;padding-bottom:2px;font-size:.95rem}.section-fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:5px}.dynamic-label{font-size:.76rem;line-height:1.1}.dynamic-input,.dynamic-textarea,.dynamic-select{padding:2px 8px;font-size:.86rem;line-height:1.25}.dynamic-checkbox{width:15px;height:15px}.checkbox-label{font-size:.8rem;line-height:1.15}.checklist-groups{margin-top:3px;padding-top:3px}.checklist-items{gap:3px 10px}.dynamic-actions{padding:5px 0;margin-top:5px}}.readonly-section{background-color:#f8f9fa;border-left:3px solid #6c757d}.readonly-section .section-title{color:#6c757d}.readonly-badge{font-size:.75rem;font-weight:400;color:#6c757d;margin-left:8px}.readonly-value{padding:6px 10px;background-color:#e9ecef;border:1px solid #ced4da;border-radius:4px;color:#495057;font-size:.9rem;min-height:32px;display:flex;align-items:center}.readonly-value .empty-value{color:#adb5bd;font-style:italic}.dynamic-table-container{width:100%;margin:8px 0;overflow-x:auto}.dynamic-table{width:100%;border-collapse:collapse;border:1px solid #ddd;background:#fff;font-size:.88rem}.dynamic-table thead{background-color:#f5f5f5}.dynamic-table th{padding:8px 12px;text-align:left;font-weight:600;color:#333;border-bottom:2px solid #ddd;border-right:1px solid #ddd;white-space:nowrap}.dynamic-table th:last-child{border-right:none}.dynamic-table td{padding:6px 12px;border-bottom:1px solid #eee;border-right:1px solid #eee;vertical-align:middle}.dynamic-table td:last-child{border-right:none}.dynamic-table tbody tr:hover{background-color:#f9f9f9}.dynamic-table tbody tr:last-child td{border-bottom:none}.dynamic-table-select,.dynamic-table-input{width:100%;padding:4px 8px;border:1px solid #ddd;border-radius:3px;font-size:.88rem;font-family:inherit;background:#fff}.dynamic-table-select:focus,.dynamic-table-input:focus{outline:none;border-color:#0078d4;box-shadow:0 0 0 2px #0078d41a}.dynamic-table-input[readonly]{background-color:#f5f5f5;cursor:not-allowed;color:#666}.dynamic-table-remove-btn{background:#d32f2f;color:#fff;border:none;border-radius:3px;width:24px;height:24px;cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;padding:0;transition:background-color .2s}.dynamic-table-remove-btn:hover:not(:disabled){background:#c62828}.dynamic-table-remove-btn:disabled{opacity:.5;cursor:not-allowed}.dynamic-table-total-row{background-color:#f0f0f0;font-weight:600}.dynamic-table-total-row td{border-top:2px solid #ddd;border-bottom:none;padding:8px 12px}.dynamic-table-total-label{text-align:right;padding-right:12px}.dynamic-table-total-cell{text-align:right;font-size:1rem;color:#0078d4}.dynamic-table-add-btn{margin-top:8px;padding:6px 12px;background-color:#0078d4;color:#fff;border:none;border-radius:3px;cursor:pointer;font-size:.85rem;transition:background-color .2s}.dynamic-table-add-btn:hover{background-color:#106ebe}@media (max-width: 768px){.dynamic-table-container{overflow-x:scroll}.dynamic-table{min-width:600px}}.file-upload-container{display:flex;flex-direction:column;gap:8px}.file-upload-input{position:relative}.dynamic-file-input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}.file-upload-label{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background-color:#f5f5f5;border:1px dashed #ccc;border-radius:4px;cursor:pointer;font-size:.85rem;color:#555;transition:all .2s}.file-upload-label:hover{background-color:#e8f4fc;border-color:#0078d4;color:#0078d4}.file-preview{display:flex;align-items:center;gap:10px;padding:8px;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px}.file-preview-image{border:1px solid #ddd;background:#fff}.file-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.file-name{font-size:.85rem;color:#333;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-size{font-size:.75rem;color:#888}.file-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background-color:#ff5252;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:12px;transition:background-color .2s}.file-remove-btn:hover{background-color:#d32f2f}.asignacion-modal{padding:8px 0}.asignacion-modal__info{background-color:#f8f9fa;border-radius:8px;padding:12px 16px;margin-bottom:16px}.asignacion-modal__info-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.asignacion-modal__info-row:not(:last-child){border-bottom:1px solid #e9ecef}.asignacion-modal__label{font-size:13px;color:#6c757d;font-weight:500}.asignacion-modal__value{font-size:13px;color:#212529;text-align:right;max-width:60%;word-break:break-word}.asignacion-modal__value--highlight{color:#007c89;font-weight:600}.asignacion-modal__divider{border:none;border-top:1px solid #e9ecef;margin:16px 0}.asignacion-modal__field{margin-bottom:16px}.asignacion-modal__field-label{display:block;font-size:13px;font-weight:600;color:#495057;margin-bottom:6px}.asignacion-modal__select,.asignacion-modal__input,.asignacion-modal__textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid #ced4da;border-radius:4px;background-color:#fff;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.asignacion-modal__select:focus,.asignacion-modal__input:focus,.asignacion-modal__textarea:focus{border-color:#007c89;outline:none;box-shadow:0 0 0 3px #007c891a}.asignacion-modal__textarea{resize:vertical;min-height:80px}.asignacion-modal__priority-options{display:flex;gap:8px}.asignacion-modal__priority-btn{flex:1;padding:8px 12px;font-size:13px;font-weight:500;border:2px solid #ddd;border-radius:6px;background-color:#fff;cursor:pointer;transition:all .15s ease}.asignacion-modal__priority-btn:hover{background-color:#f8f9fa}.asignacion-modal__priority-btn--active{font-weight:600}.asignacion-modal__loading{padding:16px;text-align:center;color:#6c757d;font-size:14px}.asignacion-modal__error{background-color:#f8d7da;color:#721c24;padding:12px 16px;border-radius:6px;font-size:13px;margin-top:16px}.asignacion-modal__assignee-stats{background-color:#e3f2fd;border-radius:8px;padding:12px 16px;margin-top:16px}.asignacion-modal__stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}.asignacion-modal__stat{text-align:center;padding:8px;background-color:#fff;border-radius:6px}.asignacion-modal__stat--warning{background-color:#fff3cd}.asignacion-modal__stat--danger{background-color:#f8d7da}.asignacion-modal__stat-value{display:block;font-size:20px;font-weight:700;color:#212529}.asignacion-modal__stat-label{display:block;font-size:11px;color:#6c757d;margin-top:2px}@media (max-width: 480px){.asignacion-modal__priority-options{flex-direction:column}.asignacion-modal__info-row{flex-direction:column;align-items:flex-start;gap:4px}.asignacion-modal__value{max-width:100%;text-align:left}}.solicitudes-board{padding:20px;max-width:100%;background-color:#f4f6f8}.solicitudes-board__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.solicitudes-board__header-left{display:flex;align-items:center;gap:12px}.solicitudes-board__header-right{display:flex;align-items:center;gap:8px}.solicitudes-board__title{color:#007c89;margin:0;font-size:1.25rem;font-weight:600}.solicitudes-board__view-btn{padding:8px 14px;border:1px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.solicitudes-board__view-btn:hover{background-color:#f0f0f0}.solicitudes-board__view-btn.active{background-color:#007c89;color:#fff;border-color:#007c89}.solicitudes-board__refresh-btn{padding:8px 14px;border:none;background-color:#007c89;color:#fff;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .15s}.solicitudes-board__refresh-btn:hover{background-color:#006b77}.solicitudes-board__refresh-btn:disabled{background-color:#ccc;cursor:not-allowed}.solicitudes-board__admin-btn{padding:8px 14px;border:1px solid #dc3545;background-color:#dc3545;color:#fff;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .15s}.solicitudes-board__admin-btn:hover{background-color:#c82333;border-color:#c82333}.solicitudes-board__user-roles{display:flex;gap:6px;flex-wrap:wrap}.solicitudes-board__role-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background-color:#e3f2fd;color:#1565c0;border-radius:12px;font-size:12px;font-weight:500}.solicitudes-board__role-badge--admin{background-color:#ffebee;color:#c62828}.solicitudes-board__stats{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.solicitudes-board__stat{background-color:#fff;border-radius:8px;padding:16px 20px;min-width:100px;text-align:center;box-shadow:0 1px 3px #0000001a}.solicitudes-board__stat--warning{border-left:4px solid #ffc107}.solicitudes-board__stat--success{border-left:4px solid #28a745}.solicitudes-board__stat--danger{border-left:4px solid #dc3545;background-color:#fff5f5}.solicitudes-board__stat-value{display:block;font-size:24px;font-weight:700;color:#212529}.solicitudes-board__stat-label{display:block;font-size:12px;color:#6c757d;margin-top:4px}.solicitudes-board__filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.solicitudes-board__search{flex:1;min-width:200px;padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px}.solicitudes-board__search:focus{border-color:#007c89;outline:none;box-shadow:0 0 0 3px #007c891a}.solicitudes-board__filter{padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;min-width:150px}.solicitudes-board__filter:focus{border-color:#007c89;outline:none}.solicitudes-board__error{background-color:#f8d7da;color:#721c24;padding:16px;border-radius:8px;margin-bottom:20px}.solicitudes-board__loading{text-align:center;padding:60px;color:#6c757d;font-size:16px}.solicitudes-board__empty{text-align:center;padding:40px;color:#6c757d}.solicitudes-board__table-container{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 1px 3px #0000001a}.solicitudes-board__table{width:100%;border-collapse:collapse}.solicitudes-board__table thead{background-color:#f5f7f9}.solicitudes-board__table th{padding:14px 16px;text-align:left;font-weight:600;font-size:13px;color:#495057;border-bottom:2px solid #e9ecef}.solicitudes-board__row{cursor:pointer;transition:background-color .15s}.solicitudes-board__row:hover{background-color:#f8f9fa}.solicitudes-board__cell{padding:14px 16px;font-size:14px;border-bottom:1px solid #e9ecef}.solicitudes-board__cell--actions{white-space:nowrap}.solicitudes-board__cell-name{display:flex;align-items:center;gap:8px}.solicitudes-board__priority-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.solicitudes-board__assignee-badge{background-color:#e3f2fd;color:#1976d2;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.solicitudes-board__unassigned{color:#9e9e9e;font-style:italic}.solicitudes-board__status{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.solicitudes-board__status--pending{background-color:#fff3e0;color:#e65100}.solicitudes-board__status--in_progress{background-color:#e3f2fd;color:#1565c0}.solicitudes-board__status--completed{background-color:#e8f5e9;color:#2e7d32}.solicitudes-board__status--cancelled{background-color:#f5f5f5;color:#757575}.solicitudes-board__btn{padding:6px 10px;border:none;border-radius:4px;cursor:pointer;font-size:14px;margin-right:4px;transition:all .15s}.solicitudes-board__btn--assign{background-color:#e3f2fd}.solicitudes-board__btn--assign:hover{background-color:#bbdefb}.solicitudes-board__btn--view{background-color:#f5f5f5}.solicitudes-board__btn--view:hover{background-color:#e0e0e0}.solicitudes-board__kanban{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;min-height:500px}.solicitudes-board__column{background-color:#e9ecef;border-radius:8px;padding:12px;display:flex;flex-direction:column}.solicitudes-board__column-title{font-size:14px;font-weight:600;color:#495057;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #dee2e6}.solicitudes-board__column-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.solicitudes-board__card{background-color:#fff;border-radius:6px;padding:12px;box-shadow:0 1px 2px #0000001a;cursor:pointer;transition:all .15s}.solicitudes-board__card:hover{box-shadow:0 3px 6px #00000026;transform:translateY(-1px)}.solicitudes-board__card-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:8px}.solicitudes-board__card-priority{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:4px}.solicitudes-board__card-title{font-size:13px;font-weight:500;color:#212529;line-height:1.3;word-break:break-word}.solicitudes-board__card-meta{display:flex;justify-content:space-between;font-size:11px;color:#6c757d;margin-bottom:8px}.solicitudes-board__card-assignee{font-size:12px;color:#1976d2;background-color:#e3f2fd;padding:4px 8px;border-radius:4px;margin-bottom:8px}.solicitudes-board__card-btn{width:100%;padding:6px;border:1px solid #ddd;background-color:#fff;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s}.solicitudes-board__card-btn:hover{background-color:#007c89;border-color:#007c89;color:#fff}@media (max-width: 1200px){.solicitudes-board__kanban{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.solicitudes-board__kanban{grid-template-columns:1fr}.solicitudes-board__header{flex-direction:column;align-items:flex-start}.solicitudes-board__filters{flex-direction:column}.solicitudes-board__filter,.solicitudes-board__search{width:100%}.solicitudes-board__stats{flex-wrap:wrap;justify-content:center}.solicitudes-board__table-container{overflow-x:auto}}.admin-roles{padding:24px;max-width:100%;background:linear-gradient(180deg,#f0f4f8,#e8eef4)}.admin-roles__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.admin-roles__header-left{display:flex;align-items:center;gap:12px}.admin-roles__header-right{display:flex;align-items:center;gap:8px}.admin-roles__title{color:#007c89;margin:0;font-size:1.25rem;font-weight:600}.admin-roles__btn{padding:8px 14px;border:1px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:13px;transition:all .15s}.admin-roles__btn:hover{background-color:#f0f0f0}.admin-roles__btn--primary{background-color:#007c89;color:#fff;border-color:#007c89}.admin-roles__btn--primary:hover{background-color:#006b77}.admin-roles__section-title{font-size:1rem;font-weight:600;color:#333;margin:0 0 16px}.admin-roles__catalog{background-color:#fff;border-radius:8px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px #0000001a}.admin-roles__catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.admin-roles__catalog-card{background-color:#f8f9fa;border-radius:8px;padding:16px;border-left:4px solid #007c89}.admin-roles__catalog-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.admin-roles__catalog-icon{font-size:20px}.admin-roles__catalog-name{font-weight:600;font-size:14px;color:#333}.admin-roles__catalog-desc{font-size:12px;color:#666;margin:0 0 12px;line-height:1.4}.admin-roles__catalog-perms{display:flex;flex-wrap:wrap;gap:4px}.admin-roles__perm-badge{font-size:10px;padding:2px 6px;background-color:#e3f2fd;color:#1976d2;border-radius:10px;text-transform:capitalize}.admin-roles__filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.admin-roles__search{flex:1;min-width:200px;padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px}.admin-roles__search:focus{border-color:#007c89;outline:none;box-shadow:0 0 0 3px #007c891a}.admin-roles__filter{padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;min-width:150px}.admin-roles__error{background-color:#f8d7da;color:#721c24;padding:16px;border-radius:8px;margin-bottom:20px}.admin-roles__loading{text-align:center;padding:60px;color:#6c757d}.admin-roles__empty{text-align:center;padding:40px;color:#6c757d}.admin-roles__table-container{background-color:#fff;border-radius:10px;padding:24px;box-shadow:0 2px 8px #0000000f}.admin-roles__table{width:100%;border-collapse:collapse}.admin-roles__table thead{background-color:#f5f7f9}.admin-roles__table th{padding:12px 16px;text-align:left;font-weight:600;font-size:13px;color:#495057;border-bottom:2px solid #e9ecef}.admin-roles__table td{padding:12px 16px;font-size:14px;border-bottom:1px solid #e9ecef}.admin-roles__table tr:hover{background-color:#f8f9fa}.admin-roles__role-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.admin-roles__type-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.admin-roles__type-badge--admin{background-color:#fff3e0;color:#e65100}.admin-roles__type-badge--owner{background-color:#e3f2fd;color:#1565c0}.admin-roles__type-badge--supervisor,.admin-roles__type-badge--seguimiento{background-color:#f3e5f5;color:#7b1fa2}.admin-roles__type-badge--creator{background-color:#e8f5e9;color:#2e7d32}.admin-roles__global{color:#9e9e9e;font-style:italic;font-size:12px}.admin-roles__action-btn{padding:6px 10px;border:none;background-color:#f5f5f5;border-radius:4px;cursor:pointer;font-size:14px;margin-right:4px;transition:all .15s}.admin-roles__action-btn:hover{background-color:#e0e0e0}.admin-roles__action-btn--danger:hover{background-color:#ffebee}.admin-roles__form{padding:12px 0;display:grid;gap:4px}.admin-roles__field{margin-bottom:12px}.admin-roles__field label{display:block;font-size:13px;font-weight:600;color:#495057;margin-bottom:6px}.admin-roles__field input,.admin-roles__field select{width:100%;padding:10px 12px;font-size:14px;border:1px solid #ced4da;border-radius:4px;background-color:#fff}.admin-roles__field input:focus,.admin-roles__field select:focus{border-color:#007c89;outline:none;box-shadow:0 0 0 3px #007c891a}.admin-roles__field input:disabled{background-color:#f5f5f5;cursor:not-allowed}.admin-roles__field small{display:block;font-size:11px;color:#6c757d;margin-top:4px}.admin-roles__success{background-color:#d4edda;color:#155724;padding:16px;border-radius:8px;margin-bottom:20px;animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-roles__tabs{display:flex;gap:4px;margin-bottom:20px;background-color:#e9ecef;padding:4px;border-radius:8px;width:-moz-fit-content;width:fit-content}.admin-roles__tab{padding:10px 20px;border:none;background-color:transparent;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#495057;transition:all .2s}.admin-roles__tab:hover{background-color:#ffffff80}.admin-roles__tab.active{background-color:#fff;color:#007c89;box-shadow:0 1px 3px #0000001a}.admin-roles__section-header{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:16px}.admin-roles__hint{font-size:12px;color:#6c757d;font-weight:400}.admin-roles__info{background-color:#e3f2fd;color:#1565c0;padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.admin-roles__info code{background-color:#0000001a;padding:2px 6px;border-radius:4px;font-family:monospace}.admin-roles__models{background-color:#fff;border-radius:8px;padding:20px;box-shadow:0 1px 3px #0000001a}.admin-roles__model-pattern{background-color:#f5f5f5;padding:4px 10px;border-radius:4px;font-size:13px;color:#d63384}.admin-roles__model-roles{display:flex;flex-wrap:wrap;gap:6px}.admin-roles__catalog-code{font-size:11px;color:#9e9e9e;font-weight:400}.admin-roles__field textarea{width:100%;padding:10px 12px;font-size:14px;border:1px solid #ced4da;border-radius:4px;background-color:#fff;resize:vertical;font-family:inherit}.admin-roles__field textarea:focus{border-color:#007c89;outline:none;box-shadow:0 0 0 3px #007c891a}@media (max-width: 768px){.admin-roles__header{flex-direction:column;align-items:flex-start}.admin-roles__filters{flex-direction:column}.admin-roles__filter,.admin-roles__search{width:100%}.admin-roles__catalog-grid{grid-template-columns:1fr}.admin-roles__table-container{overflow-x:auto}}.panel-gestion{padding:20px;max-width:100%;background-color:#f4f6f8}.panel-gestion__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}.panel-gestion__header-left{display:flex;align-items:center;gap:12px}.panel-gestion__title{color:#007c89;margin:0;font-size:1.25rem;font-weight:600;display:flex;align-items:center;gap:8px}.panel-gestion__badge{padding:4px 8px;border-radius:4px;font-size:.75rem;font-weight:600;background-color:#007c89;color:#fff}.panel-gestion__badge--supervisor{background-color:#28a745}.panel-gestion__refresh-btn{padding:8px 14px;border:none;background-color:#007c89;color:#fff;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:background-color .15s}.panel-gestion__refresh-btn:hover{background-color:#006b77}.panel-gestion__refresh-btn:disabled{background-color:#ccc;cursor:not-allowed}.panel-gestion__tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:2px solid #ddd}.panel-gestion__tab{padding:12px 20px;border:none;background:none;border-bottom:3px solid transparent;cursor:pointer;font-size:14px;font-weight:500;color:#666;transition:all .2s;margin-bottom:-2px}.panel-gestion__tab:hover{color:#007c89;background-color:#f0f0f0}.panel-gestion__tab.active{color:#007c89;border-bottom-color:#007c89;font-weight:600}.panel-gestion__stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}.panel-gestion__stat-card{background:#fff;padding:16px;border-radius:6px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;align-items:center;gap:8px}.panel-gestion__stat-label{font-size:12px;color:#666;text-transform:uppercase;font-weight:500}.panel-gestion__stat-value{font-size:24px;font-weight:700;color:#007c89}.panel-gestion__stat-value--high,.panel-gestion__stat-value--overdue{color:#dc3545}.panel-gestion__filters{display:flex;gap:12px;margin-bottom:20px;flex-wrap:wrap}.panel-gestion__search{flex:1;min-width:250px;padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px}.panel-gestion__filter{padding:10px 14px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;cursor:pointer}.panel-gestion__table-container{background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a;overflow-x:auto}.panel-gestion__table{width:100%;border-collapse:collapse}.panel-gestion__table thead{background-color:#f8f9fa}.panel-gestion__table th{padding:12px;text-align:left;font-weight:600;font-size:13px;color:#333;border-bottom:2px solid #ddd}.panel-gestion__row{cursor:pointer;transition:background-color .15s}.panel-gestion__row:hover{background-color:#f8f9fa}.panel-gestion__cell{padding:12px;font-size:13px;border-bottom:1px solid #eee}.panel-gestion__cell-name{display:flex;align-items:center;gap:8px}.panel-gestion__priority-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.panel-gestion__assignee-badge{padding:4px 8px;background-color:#e3f2fd;color:#1976d2;border-radius:4px;font-size:12px;font-weight:500}.panel-gestion__unassigned{color:#999;font-style:italic}.panel-gestion__priority-select{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:12px;cursor:pointer;background-color:#fff}.panel-gestion__priority-select:disabled{background-color:#f5f5f5;cursor:not-allowed}.panel-gestion__date-input{padding:6px 10px;border:1px solid #ddd;border-radius:4px;font-size:12px;cursor:pointer}.panel-gestion__date-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.panel-gestion__status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500;display:inline-block}.panel-gestion__status--pending{background-color:#fff3cd;color:#856404}.panel-gestion__status--in_progress{background-color:#d1ecf1;color:#0c5460}.panel-gestion__status--completed{background-color:#d4edda;color:#155724}.panel-gestion__status--cancelled{background-color:#f8d7da;color:#721c24}.panel-gestion__cell--actions{display:flex;gap:8px;justify-content:flex-end}.panel-gestion__btn{padding:6px 10px;border:1px solid #ddd;background-color:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .15s}.panel-gestion__btn:hover:not(:disabled){background-color:#f0f0f0}.panel-gestion__btn:disabled{opacity:.5;cursor:not-allowed}.panel-gestion__btn--assign{color:#007c89;border-color:#007c89}.panel-gestion__btn--assign:hover:not(:disabled){background-color:#007c89;color:#fff}.panel-gestion__btn--view{color:#666}.panel-gestion__empty{text-align:center;padding:40px;color:#999;font-style:italic}.panel-gestion__loading{text-align:center;padding:40px;color:#666}.panel-gestion__error{background-color:#f8d7da;color:#721c24;padding:16px;border-radius:6px;margin-bottom:20px}
