@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600&display=swap);:root{--font-base:"Poppins",sans-serif;--color-bg:#f4f6fa;--color-surface:#fff;--color-primary:#3949ab;--color-secondary:#ffc107;--color-error:#e53935;--color-text:#263238;--color-text-light:#546e7a;--radius:12px;--spacing-xs:4px;--spacing-s:8px;--spacing-m:16px;--spacing-l:24px;--transition:0.25s ease}*,:after,:before{box-sizing:border-box}body{background:#f4f6fa;background:var(--color-bg);color:#263238;color:var(--color-text);font-family:Poppins,sans-serif;font-family:var(--font-base);line-height:1.6;margin:0;padding:0}.background-video{height:100vh;left:0;object-fit:cover;object-position:top center;position:fixed;top:0;width:100vw;z-index:-1}.App{background:#0000;height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto;position:relative;width:100%}.ant-layout-content,.dashboard-content,.dashboard-layout,.dashboard-layout .ant-layout{background:#0000!important}.dashboard-layout{min-height:100vh}.dashboard-header{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#3949abd9;box-shadow:0 4px 12px #0000001a;display:flex;height:80px;justify-content:space-between;padding:0 1.5rem}.dashboard-title{color:#fff;font-size:clamp(1rem,5vw,1.5rem);font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-header .logout-btn{background:#e0a800;border:none;border-radius:12px;border-radius:var(--radius);color:#fff!important;display:inline-flex!important;font-weight:600;margin:0!important;padding:8px 16px;transition:transform .25s ease,background .25s ease;transition:transform var(--transition),background var(--transition);width:auto!important}.dashboard-header .logout-btn:hover{background:#ffca28;transform:translateY(-2px)}.dashboard-content{align-items:center;display:flex;flex-direction:column;gap:16px;gap:var(--spacing-m);margin-top:20px}.dashboard-content,.form-container{padding:24px;padding:var(--spacing-l)}.form-container{background:#fff;background:var(--color-surface);border-radius:12px;border-radius:var(--radius);box-shadow:0 8px 24px #0000000d;margin:8rem auto 24px;margin:8rem auto var(--spacing-l) auto;max-width:650px;transition:transform .25s ease;transition:transform var(--transition);width:95%}.form-container:hover{transform:translateY(-4px)}.form-container h2{color:#3949ab;color:var(--color-primary);font-size:1.8rem;font-weight:600;margin-bottom:16px;margin-bottom:var(--spacing-m);text-align:center}.login-form{padding:2rem}.text-box{background-color:#fff;border:1px solid #0000001a;border-radius:8px;box-shadow:0 2px 6px #0000000d;color:#333;padding:1rem 1.5rem;text-align:center;transition:box-shadow .2s ease}.text-box:hover{box-shadow:0 4px 12px #0000001a}.scrollable-form{max-height:calc(100vh - 200px);overflow-y:auto;padding-right:8px}.logo-container{margin-bottom:1.5rem;text-align:center}.logo{background-color:#fff;border-radius:12px;border-radius:var(--radius);display:inline-block;height:auto;max-width:400px;padding:10px;width:100%}.form-group{margin-bottom:16px;margin-bottom:var(--spacing-m);text-align:center}.form-group label{display:block;font-weight:500;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.form-group label,.form-group p{color:#546e7a;color:var(--color-text-light)}.form-group p{font-size:.875rem}.ant-input,.ant-input-affix-wrapper,.ant-picker,.ant-select-selector{border:1px solid #cfd8dc;border-radius:12px;border-radius:var(--radius);font-size:.95rem;padding:8px;padding:var(--spacing-s);transition:border-color .25s ease,box-shadow .25s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.ant-input-affix-wrapper-focused,.ant-input:focus,.ant-picker-focused{border-color:#3949ab;border-color:var(--color-primary);box-shadow:0 0 0 3px #3949ab33}.ant-select-dropdown{min-width:240px!important}.ant-select-dropdown .ant-select-item-option-content{padding-right:16px;padding-right:var(--spacing-m);white-space:normal!important;word-break:break-word}.ant-select-item-option{display:flex}.ant-radio-group{display:flex;gap:16px;gap:var(--spacing-m)}.ant-radio-wrapper{color:#263238;color:var(--color-text);font-size:.95rem}.ant-picker-cell-disabled .ant-picker-cell-inner{color:#b0bec5!important;cursor:not-allowed!important}.ant-upload .ant-btn{background:#ffc107;background:var(--color-secondary);border-radius:12px;border-radius:var(--radius);color:#fff;transition:background .25s ease,transform .25s ease;transition:background var(--transition),transform var(--transition)}.ant-upload .ant-btn:hover{background:#e0a800;transform:translateY(-2px)}.ant-btn,button{align-items:center;display:flex!important;justify-content:center;margin-left:auto;margin-right:auto;text-align:center}.ant-btn-primary,button[type=submit]{background:#3949ab;background:var(--color-primary);border:none;border-radius:12px;border-radius:var(--radius);color:#fff;display:block;font-size:1rem;font-weight:500;padding:8px;padding:var(--spacing-s);transition:background .25s ease,transform .25s ease;transition:background var(--transition),transform var(--transition);width:100%}.ant-btn-primary:hover,button[type=submit]:hover{background:#303f9f;transform:translateY(-2px)}.dashboard-btn{max-width:320px;min-width:140px;width:100%}.ant-btn-primary:not(.dashboard-btn):not(button[type=submit]){width:auto!important}.button-stack{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-s);justify-content:center;margin-bottom:16px;margin-bottom:var(--spacing-m)}td .button-stack{flex-direction:row;margin-bottom:0}.help-btn{margin-bottom:16px;margin-bottom:var(--spacing-m)}.ant-table-container{background:#fff;border-radius:8px;box-shadow:0 4px 12px #0000000d;overflow:hidden}.ant-table-thead>tr>th{background-color:#f5f8ff;color:#1a237e;font-weight:600;text-transform:uppercase}.ant-table-cell{color:#333;font-size:14px;padding:12px 16px}.ant-table-tbody>tr:hover>td{background-color:#1890ff1a!important}.revision-future>td{background-color:#e6f7ff!important}.revision-past>td{background-color:#f6ffed!important}.revision-has-next .ant-table-cell{background-color:#4dada41a}.revision-no-next .ant-table-cell{background-color:#ff63471a}.company-table .ant-table{border:none;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.company-table .ant-table-thead>tr>th{background-color:#8093e0;border-bottom:none;color:#fff;text-align:center}.company-table .ant-table-tbody>tr>td{border:none;padding:16px;text-align:center;vertical-align:middle}.company-table .ant-table-tbody>tr:nth-child(odd)>td{background-color:#f0f5ff}.company-table .ant-table-tbody>tr:nth-child(2n)>td{background-color:#fff}.company-table .ant-table-container table{border-collapse:collapse}.company-table .ant-table-container table>tbody>tr.group-divider{border-bottom:3px solid #d9d9d9!important;padding-bottom:16px}.ant-table-row.revision-puntual{background-color:#f3e8ff!important}.ant-table-row.revision-puntual:hover{background-color:#e4d4ff!important}.ant-modal{font-family:Poppins,sans-serif;font-family:var(--font-base);overflow:hidden}.ant-modal,.ant-modal-content{border-radius:12px;border-radius:var(--radius)}.ant-modal-content{background:#fff;background:var(--color-surface);box-shadow:0 16px 48px #0000001a}.ant-modal-header{background:#3949ab;background:var(--color-primary);border-bottom:none;padding:16px 24px;padding:var(--spacing-m) var(--spacing-l)}.ant-modal-title{color:#fff;font-size:1.25rem;font-weight:600}.ant-modal-close-x{color:#ffffffd9}.ant-modal-close-x:hover{color:#fff}.ant-modal-body{color:#263238;color:var(--color-text);font-size:.95rem;padding:24px;padding:var(--spacing-l)}.ant-modal-body h3{color:#3949ab;color:var(--color-primary);font-size:1.1rem;margin-bottom:8px;margin-bottom:var(--spacing-s);margin-top:16px;margin-top:var(--spacing-m)}.ant-modal-footer{background:#f4f6fa;background:var(--color-bg);border-top:none;display:flex;gap:8px;gap:var(--spacing-s);justify-content:flex-end;padding:16px 24px;padding:var(--spacing-m) var(--spacing-l)}.ant-modal-footer .ant-btn{border-radius:12px;border-radius:var(--radius);margin:0;min-width:100px}.ant-modal-wrap{animation:modalFadeIn .3s forwards}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-list{list-style:disc inside;margin-top:8px;margin-top:var(--spacing-s);padding-left:24px;padding-left:var(--spacing-l)}.modal-list li{margin-bottom:4px;margin-bottom:var(--spacing-xs);white-space:normal;word-break:break-word}.file-item{width:fit-content}.confirm-box{background-color:#fffbe6;border:1px solid #ffe58f;border-radius:12px;border-radius:var(--radius);margin-top:10px;padding:16px;padding:var(--spacing-m)}.modal-image-preview{border-radius:4px;width:100%}.filter-dashboard-bar{align-items:flex-end;background:#f0f2f5;border:1px solid #d9d9d9;border-radius:8px;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px}.filter-item{margin-bottom:0;text-align:left}.filter-label{color:#263238;color:var(--color-text);display:block;font-weight:600;margin-bottom:5px}.filter-date-picker{width:200px}.filter-select{width:250px}.filter-status-text{color:#3949ab;color:var(--color-primary);font-weight:500;margin-left:auto;padding-bottom:5px}.table-section{margin-bottom:24px}.table-section-puntuales{margin-top:40px}.error{color:#e53935;color:var(--color-error);font-size:.8rem}.error,.success{margin-top:4px;margin-top:var(--spacing-xs)}.success{color:#ffc107;color:var(--color-secondary);font-size:.9rem;text-align:center}.service-name{font-size:1rem;margin-bottom:24px;margin-bottom:var(--spacing-l)}.service-assigned,.service-name{color:#546e7a;color:var(--color-text-light);text-align:center}.service-assigned{margin-top:16px;margin-top:var(--spacing-m)}.service-assigned p{color:#fff;font-size:1rem;margin-top:4px;margin-top:var(--spacing-xs);text-shadow:0 1px 3px #00000080}.tituloRoles{font-size:1.25rem;font-weight:600;margin-bottom:16px;margin-bottom:var(--spacing-m)}.spinner-centered{display:block;margin:50px auto;text-align:center}.campo-item{background:#fafafa;border:1px solid #eceff1;border-radius:12px;border-radius:var(--radius);margin-bottom:16px;margin-bottom:var(--spacing-m);padding:16px;padding:var(--spacing-m);position:relative}.campo-item .ant-btn-text{color:#e53935;color:var(--color-error);position:absolute;right:4px;right:var(--spacing-xs);top:4px;top:var(--spacing-xs)}.revision-info-box{background-color:#e6f7ff;border:1px solid #91d5ff;border-radius:12px;border-radius:var(--radius);margin-bottom:16px;margin-bottom:var(--spacing-m);padding:10px}.file-list-container{display:flex;flex-direction:column;gap:8px;gap:var(--spacing-s);margin-top:8px;margin-top:var(--spacing-s);width:100%}.file-item{align-items:center;background-color:#fafafa;border:1px solid #d9d9d9;border-radius:4px;box-sizing:border-box;display:flex;max-width:100%;padding:5px 10px;transition:all .25s ease;transition:all var(--transition);width:100%}.file-item-modified{background-color:#fffbe6;border-color:#ffe58f}.file-item-icon{color:#555;flex-shrink:0;margin-right:8px;margin-right:var(--spacing-s)}.file-item-name{color:#3949ab;color:var(--color-primary);cursor:pointer;flex:1 1;font-weight:500;margin-right:16px;margin-right:var(--spacing-m);min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.file-item-name:hover{text-decoration:underline}.tag-modified{background:#fff7e6;border:1px solid #ffd591;border-radius:4px;color:#faad14;flex-shrink:0;font-size:.75rem;margin-right:10px;padding:0 7px}.btn-edit-file{color:#ffc107!important;color:var(--color-secondary)!important;flex-shrink:0}.btn-edit-file:hover{color:#ffca28!important}.no-files-text{color:#546e7a;color:var(--color-text-light);font-style:italic}.file-list-vertical{display:flex;flex-direction:column;gap:8px;margin-top:10px;max-width:100%;width:100%}.file-btn-item{align-items:center;background-color:#fafafa;border:1px solid #d9d9d9;border-radius:4px;display:flex!important;height:auto!important;justify-content:flex-start!important;max-width:100%!important;padding:8px 12px!important;text-align:left!important;transition:all .2s ease;width:100%!important}.file-btn-item:hover{background-color:#f0f5ff;border-color:#3949ab;border-color:var(--color-primary)}.file-icon-placeholder{align-items:center;color:#555;display:flex;flex-shrink:0;margin-right:8px}.file-btn-text{color:#3949ab;color:var(--color-primary);flex:1 1;font-size:.9rem;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-modal-centered .ant-modal-confirm-btns{display:flex;float:none!important;gap:20px;justify-content:center;margin-top:24px;text-align:center}.confirm-modal-centered .ant-modal-confirm-btns .ant-btn{align-items:center;display:inline-flex;justify-content:center;min-width:130px}