:root{color-scheme:light dark;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{margin:0;background:#0b1020;color:#f4f7fb}a{color:inherit}.page{max-width:1100px;margin:0 auto;padding:48px 24px}.hero{grid-gap:16px}.cards,.hero{display:grid;gap:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;margin-top:32px}.card,.list-card,.panel{padding:20px;border-radius:14px;background:#151c31;border:1px solid #27314f}.button{display:inline-block;background:#4f8cff;color:white;text-decoration:none;padding:12px 18px;border-radius:10px;font-weight:600;margin-right:12px;border:0;cursor:pointer}.button-secondary{background:#27314f}.button-danger{background:#b3261e}.button-disabled,.button[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.modal-backdrop{position:fixed;inset:0;z-index:50;display:flex;align-items:flex-start;justify-content:center;padding:48px 20px;background:rgba(5,10,20,.72);overflow-y:auto}.modal-card{width:min(960px,100%);display:grid;grid-gap:16px;gap:16px;padding:20px;border-radius:18px;background:#151c31;border:1px solid #314266;box-shadow:0 24px 60px rgba(0,0,0,.35)}.modal-header{display:flex;gap:16px;align-items:flex-start;justify-content:space-between}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;width:100%}.modal-form{display:grid;grid-gap:18px;gap:18px}.modal-form-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:16px;gap:16px}.modal-checkbox-field,.modal-field{display:grid;grid-gap:8px;gap:8px;align-content:start;min-width:0}.modal-field__label{font-weight:600;color:#eef3ff}.modal-field__hint{font-size:.9rem;line-height:1.4}.modal-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.location-fill-action{display:grid;grid-gap:8px;gap:8px;align-content:start}.location-fill-action__status{min-height:1.25rem;font-size:.9rem}.modal-span-1{grid-column:span 1}.modal-span-2{grid-column:span 2}.modal-span-3{grid-column:span 3}.modal-span-4{grid-column:span 4}.modal-span-5{grid-column:span 5}.modal-span-6{grid-column:span 6}.modal-span-full{grid-column:1/-1}.modal-field--compact-fourth-row{order:20}.modal-field--compact-manufacturer{grid-column:1/span 3}.modal-field--compact-model{grid-column:4/span 3}.modal-field--compact-last-maintenance,.modal-field--compact-last-recharge,.modal-field--compact-last-revision{order:21}.modal-field--compact-last-maintenance,.modal-field--compact-last-revision{grid-column:7/span 3}.modal-field--compact-last-recharge{grid-column:10/span 3}.modal-field--notes-last{order:22}.modal-form-grid--assets{display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:18px;row-gap:16px}.modal-form-grid--assets .modal-field{justify-self:start;flex:0 0 auto}.modal-form-grid--assets .date-picker-field,.modal-form-grid--assets .modal-field>.input,.modal-form-grid--assets .modal-field>.select,.modal-form-grid--assets .modal-field>.textarea{width:100%;min-width:0}.modal-form-grid--assets .modal-field--asset-client{width:min(100%,180px)}.modal-form-grid--assets .modal-field--asset-site{width:min(100%,140px)}.modal-form-grid--assets .modal-field--asset-name{width:min(100%,180px)}.modal-form-grid--assets .modal-field--asset-internal-reference,.modal-form-grid--assets .modal-field--asset-location{width:min(100%,160px)}.modal-form-grid--assets .modal-field--asset-serial-number{width:min(100%,150px)}.modal-form-grid--assets .modal-field--asset-status{width:min(100%,80px)}.modal-form-grid--assets .modal-field--asset-manufacturer{width:min(100%,120px)}.modal-form-grid--assets .modal-field--asset-model{width:min(100%,100px)}.modal-form-grid--assets .modal-field--asset-hydraulic,.modal-form-grid--assets .modal-field--asset-maintenance,.modal-form-grid--assets .modal-field--asset-recharge,.modal-form-grid--assets .modal-field--asset-review{width:min(100%,200px)}.modal-form-grid--assets .modal-field--notes-last{flex-basis:100%;width:100%;max-width:100%}.modal-form-grid--assets .modal-field--notes-last .textarea{width:min(100%,320px)}.modal-form-grid--assignment{display:flex;flex-wrap:wrap;align-items:flex-start;column-gap:18px;row-gap:16px}.modal-form-grid--assignment .modal-field{justify-self:start;flex:0 0 auto}.modal-form-grid--assignment .modal-field>.input,.modal-form-grid--assignment .modal-field>.select{width:100%;min-width:0}.modal-form-grid--assignment .modal-field--assignment-day,.modal-form-grid--assignment .modal-field--assignment-intervention,.modal-form-grid--assignment .modal-field--assignment-next-status,.modal-form-grid--assignment .modal-field--assignment-site,.modal-form-grid--assignment .modal-field--assignment-start-time,.modal-form-grid--assignment .modal-field--assignment-status,.modal-form-grid--assignment .modal-field--assignment-technician{width:min(100%,160px)}.modal-form-grid--assignment .modal-field--assignment-client{width:min(100%,180px)}.modal-form-grid--assignment .modal-field--assignment-duration{width:min(100%,120px)}.modal-form-grid--assignment .tech-calendar{flex-basis:100%;width:100%}.muted{color:#b8c2db}.maintenance-date{color:inherit}.maintenance-date--warning{color:#facc15}.maintenance-date--danger{color:#f87171}.dashboard-page{display:grid;grid-gap:20px;gap:20px}.auth-page{min-height:100vh;display:grid;place-items:center}.auth-card{width:min(460px,100%);display:grid;grid-gap:16px;gap:16px;padding:28px;border-radius:18px;background:#151c31;border:1px solid #27314f}.auth-form,.field{display:grid;grid-gap:10px;gap:10px}.mutations-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:14px;gap:14px}.checkbox-row{display:flex;align-items:center;gap:8px;font-size:.95rem}.dashboard-hero{grid-template-columns:1.4fr 1fr;align-items:start}.hero-meta{display:grid;grid-gap:10px;gap:10px}.pill{padding:10px 12px;border-radius:999px;background:#101726;border:1px solid #27314f;color:#d4ddf4}.notice{padding:14px 16px;border-radius:12px;background:#123257;border:1px solid #2d70b3}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-grid,.panel{display:grid;grid-gap:16px;gap:16px}.panel-span-2{grid-column:span 2}.panel-header h2{margin:0 0 6px}.panel-header p{margin:0}.panel-header-with-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:flex-start}.stack-lg{display:grid;grid-gap:20px;gap:20px}.stack-md{display:grid;grid-gap:16px;gap:16px}.stack-sm{display:grid;grid-gap:10px;gap:10px}.inline-form,.stack-forms,.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.stack-forms{flex-direction:column;align-items:stretch}.inline-form{background:#101726}.inline-form,.stack-fieldset{border:1px solid #27314f;border-radius:12px;padding:12px}.stack-fieldset{display:grid;grid-gap:8px;gap:8px;width:100%;margin:0}.stack-fieldset legend{padding:0 6px;color:#dbe4ff;font-weight:600}.input,.select,.textarea{min-height:42px;padding:10px 12px;border-radius:10px;border:1px solid #314266;background:#0f1523;color:#f4f7fb}.textarea{resize:vertical}.modal-form .input,.modal-form .select,.modal-form .textarea{width:100%;min-width:0}.date-picker-field{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px;align-items:center}.date-picker-field__input{min-width:0}.date-picker-field__button{min-height:42px;min-width:42px;padding:0 12px;font-size:1rem}.table{width:100%;border-collapse:collapse}.table td,.table th{text-align:left;padding:12px 10px;border-bottom:1px solid #27314f;vertical-align:top}.table-row-active td{background:rgba(79,140,255,.12)}.table-row-active td:first-child{box-shadow:inset 3px 0 0 #4f8cff}.intervention-title-cell{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.intervention-title-cell>a{min-width:0}.intervention-group-stats,.intervention-group-summary{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.intervention-operation-badges{display:inline-flex;flex-direction:column;align-items:flex-start;gap:6px;flex-shrink:0}.intervention-operation-badges__row{display:inline-flex;gap:6px}.intervention-operation-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:999px;border:1px solid #314266;background:#12182b;color:#8f9bb3;font-size:.72rem;font-weight:700;letter-spacing:.02em}.intervention-operation-badge--active{border-color:rgba(79,140,255,.55);color:#e8f1ff;background:rgba(79,140,255,.18)}.intervention-operation-badge__box{display:inline-flex;align-items:center;justify-content:center;width:12px;height:12px;border-radius:3px;border:1px solid;font-size:.65rem;line-height:1}.company-workspace{display:grid;grid-template-columns:280px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.company-workspace-content{min-width:0}.company-mobile-nav{display:none}.company-mobile-nav__toggle{display:flex;align-items:center;gap:10px;cursor:pointer;list-style:none;font-weight:600}.company-mobile-nav__toggle::-webkit-details-marker{display:none}.company-mobile-nav__icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;border:1px solid #314266;background:#12182b;color:#f4f7fb;font-size:1.1rem}.company-mobile-nav__body{display:grid;grid-gap:14px;gap:14px;margin-top:14px}.company-mobile-nav__intro{margin:0}.company-sidebar{position:-webkit-sticky;position:sticky;top:20px}.company-sidebar-nav{display:flex;flex-direction:column;gap:8px}.company-sidebar-groups{display:grid;grid-gap:18px;gap:18px}.company-sidebar-group{display:grid;grid-gap:10px;gap:10px}.company-sidebar-group__title{margin:0;font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;color:#9fb0d1}.company-sidebar-link{display:block;padding:12px 14px;border:1px solid #27314f;border-radius:10px;text-decoration:none;color:#e7ecff;background:#12182b}.company-sidebar-link:hover{border-color:#4f8cff}.table-scroll-area{max-height:360px;overflow:auto;border:1px solid #27314f;border-radius:12px}.row-actions{display:flex;flex-wrap:wrap;gap:8px}.catalog-overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.catalog-summary-card{padding:16px;border:1px solid #27314f;border-radius:14px;background:#101726}.catalog-summary-card__label{font-size:.85rem;color:#9fb0d1;text-transform:uppercase;letter-spacing:.08em}.catalog-summary-card__value{font-size:2rem;line-height:1.1}.catalog-chip-row{display:flex;flex-wrap:wrap;gap:8px}.catalog-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:4px 10px;border-radius:999px;border:1px solid #314266;background:#12182b;color:#dbe4ff;font-size:.9rem}.catalog-chip--success{background:rgba(39,174,96,.16);border-color:rgba(39,174,96,.45);color:#bff2cf}.catalog-chip--warning{background:rgba(217,119,6,.18);border-color:rgba(245,158,11,.45);color:#ffd79a}.catalog-chip--muted{background:rgba(100,116,139,.2);border-color:rgba(148,163,184,.35);color:#d8e0f5}.catalog-chip--neutral{background:rgba(79,140,255,.14);border-color:rgba(79,140,255,.36);color:#cfe0ff}.catalog-class-card,.tenant-admin-panel{padding:16px;border:1px solid #27314f;border-radius:16px;background:rgba(16,23,38,.85)}.catalog-class-header .catalog-chip-row{flex-basis:100%;width:100%}.catalog-page-header__actions{display:flex;flex-basis:100%;width:100%;flex-wrap:wrap;gap:8px}.catalog-page-header__actions form{margin:0}.catalog-inline-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.catalog-inline-status--stacked{align-items:flex-start}.catalog-action-row{grid-column:1/-1}.catalog-edit-block,.catalog-type-form{display:grid;grid-gap:10px;gap:10px;width:100%}.catalog-edit-block__fields,.catalog-type-form__fields{display:flex;flex-wrap:wrap;gap:10px;width:100%;align-items:flex-end}.catalog-edit-block__fields label,.catalog-type-form__field,.catalog-type-form__fields label{min-width:0}.catalog-type-form__field--hydraulic-period,.catalog-type-form__field--name,.catalog-type-form__field--recharge-period,.catalog-type-form__field--review-period{flex:0 1 180px;max-width:180px}.catalog-type-form__field--maintenance-period{flex:0 1 160px;max-width:160px}.catalog-type-form__field--model{flex:0 1 300px;max-width:300px}.catalog-edit-block__fields .input,.catalog-edit-block__fields .select,.catalog-type-form__fields .input,.catalog-type-form__fields .select{width:100%;min-width:0}.catalog-action-row form{margin:0}.catalog-type-form__actions,.catalog-type-form__status{width:100%}.catalog-type-form__hint{margin:0;grid-column:1/-1}.stacked-form{align-items:flex-end}.stacked-form label{display:grid;grid-gap:6px;gap:6px;min-width:min(100%,220px)}.catalog-type-form__fields>.catalog-type-form__field{min-width:0}.pager-actions{flex-wrap:wrap;gap:8px;align-items:center}@media (max-width:900px){.panel-header-with-actions{align-items:stretch}.stacked-form label{min-width:100%}.catalog-type-form__field--hydraulic-period,.catalog-type-form__field--maintenance-period,.catalog-type-form__field--model,.catalog-type-form__field--name,.catalog-type-form__field--recharge-period,.catalog-type-form__field--review-period{flex-basis:100%;max-width:100%}}.tech-calendar{display:grid;grid-gap:14px;gap:14px;padding:16px;border-radius:14px;border:1px solid #27314f;background:#101726}.tech-calendar__actions,.tech-calendar__toolbar,.tech-calendar__view-switcher,.tech-calendar__weekdays{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tech-calendar__toolbar{justify-content:space-between}.tech-calendar__caption{font-size:.92rem}.tech-calendar__actions .button,.tech-calendar__view-switcher .button{margin-right:0}.tech-calendar__picker{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.tech-calendar__picker-field{display:inline-grid}.tech-calendar__picker .select{min-width:140px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tech-calendar__month-grid,.tech-calendar__week-grid,.tech-calendar__weekdays{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(7,minmax(0,1fr))}.tech-calendar__weekday{text-align:center;font-size:.82rem;color:#9fb0d1}.tech-calendar__cell{display:grid;grid-gap:10px;gap:10px;min-height:104px;padding:12px;border-radius:12px;border:1px solid #27314f;background:rgba(17,24,43,.82);text-decoration:none}.tech-calendar__cell--month,.tech-calendar__cell--week{align-content:start}.tech-calendar__cell--muted{opacity:.58}.tech-calendar__cell--active{border-color:#4f8cff;box-shadow:inset 0 0 0 1px #4f8cff}.tech-calendar__cell-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.tech-calendar__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;min-height:22px;padding:2px 6px;border-radius:999px;background:rgba(79,140,255,.16);color:#b7d4ff;font-size:.72rem;font-weight:700}.tech-calendar__cell-label{font-size:.82rem}.tech-calendar__cell-head-link{color:inherit;text-decoration:none}.tech-calendar__entries{display:grid;grid-gap:6px;gap:6px}.tech-calendar__entry{display:grid;grid-gap:2px;gap:2px;padding:6px 8px;border-radius:10px;background:rgba(79,140,255,.08);color:inherit;text-decoration:none}.tech-calendar__entry-time{font-size:.75rem;font-weight:700;color:#b7d4ff}.tech-calendar__entry-client{font-size:.78rem;line-height:1.2}.tech-calendar__day-summary{background:rgba(79,140,255,.08)}.stack-list{display:grid;grid-gap:10px;gap:10px;list-style:none;padding:0;margin:0}.list-card{display:grid;grid-gap:4px;gap:4px;text-decoration:none;padding:12px 14px;border:1px solid #27314f;border-radius:12px;background:rgba(17,24,43,.78)}.list-card-active{border-color:#4f8cff;box-shadow:inset 0 0 0 1px #4f8cff;background:rgba(79,140,255,.12)}.selection-indicator{display:inline-flex;align-items:center;width:-moz-fit-content;width:fit-content;padding:2px 8px;border-radius:999px;border:1px solid #4f8cff;background:rgba(79,140,255,.14);color:#b7d4ff;font-size:.74rem;font-weight:600}.pager{display:flex;justify-content:space-between;gap:12px;align-items:center}.pager-actions{display:flex;gap:10px}.portal-shell{display:grid;grid-gap:12px;gap:12px;margin-bottom:24px;padding:16px 18px;border-radius:16px;background:#11182b;border:1px solid #27314f}.portal-shell__actions,.portal-shell__nav,.portal-shell__session,.portal-shell__topbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.portal-shell__user-menu-wrap{margin-left:auto}.portal-shell__session,.portal-shell__topbar{justify-content:space-between}.portal-shell__brand{font-weight:700;text-decoration:none}.portal-shell__session{flex:1 1}.portal-shell__session span,.portal-shell__session strong{display:block}.portal-shell__user-menu{position:relative}.portal-shell__user-trigger{list-style:none;display:inline-flex;align-items:center;gap:10px;min-width:0;padding:8px 10px;border-radius:999px;border:1px solid #314266;background:#0f1523;cursor:pointer}.portal-shell__user-trigger::-webkit-details-marker{display:none}.portal-shell__user-trigger-copy{display:grid;grid-gap:2px;gap:2px;text-align:left}.account-security-panel,.account-security-panel .muted,.account-security-panel .table td,.account-security-panel .table th{font-size:.9rem}.portal-shell__user-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:linear-gradient(135deg,#4f8cff,#7a5cff);color:#fff;font-weight:700}.portal-shell__user-avatar-image{width:40px;height:40px;border-radius:999px;object-fit:cover;border:1px solid #314266;background:#0f1523}.account-avatar-placeholder,.account-avatar-preview{width:96px;height:96px;border-radius:999px}.account-avatar-preview{object-fit:cover;border:1px solid rgba(212,221,244,.18)}.account-avatar-placeholder{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4f8cff,#7a5cff);color:#fff;font-size:2rem;font-weight:700}.portal-shell__user-dropdown{position:absolute;right:0;top:calc(100% + 10px);z-index:20;min-width:240px;display:grid;grid-gap:6px;gap:6px;padding:12px;border-radius:16px;border:1px solid #314266;background:#11182b;box-shadow:0 18px 36px rgba(0,0,0,.32)}.portal-shell__user-dropdown-copy{display:grid;grid-gap:3px;gap:3px;padding-bottom:8px;border-bottom:1px solid #27314f}.portal-shell__user-dropdown-button,.portal-shell__user-dropdown-link{width:100%;display:block;text-align:left;padding:10px 12px;border-radius:10px;border:1px solid #27314f;background:#0f1523;color:#f4f7fb;text-decoration:none}.portal-shell__user-dropdown-button{cursor:pointer}.portal-shell__user-dropdown-button:hover,.portal-shell__user-dropdown-link:hover{border-color:#4f8cff}.portal-shell__nav{gap:8px}.portal-shell__context{display:grid;grid-gap:12px;gap:12px;padding-top:4px}.portal-shell__breadcrumbs,.portal-shell__context-main,.portal-shell__crumb-wrap,.portal-shell__highlights{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.portal-shell__context-main{justify-content:space-between}.portal-shell__context-copy{display:grid;grid-gap:6px;gap:6px}.portal-shell__highlights{gap:10px}.portal-shell__highlight{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 10px;border-radius:999px;border:1px solid #27314f;background:#0f1523;color:#dbe5ff}.portal-shell__highlight--success{border-color:#2f7a55;background:rgba(47,122,85,.18)}.portal-shell__highlight--warning{border-color:#8d6a2e;background:rgba(141,106,46,.18)}.portal-shell__highlight-label{color:#9fb0d1;font-size:.85rem}.portal-shell__crumb{text-decoration:none;color:#dbe5ff}.portal-shell__crumb-separator{color:#8090b3}.portal-shell__link{padding:9px 12px;border-radius:999px;background:#0f1523;border:1px solid #27314f;text-decoration:none;color:#dbe5ff}.portal-shell__link--active{background:#4f8cff;border-color:#4f8cff;color:#ffffff}.portal-shell__link--disabled{opacity:.55}@media (max-width:960px){.dashboard-grid,.dashboard-hero{grid-template-columns:1fr}.panel-span-2{grid-column:span 1}.pager,.portal-shell__context-main,.portal-shell__session,.portal-shell__topbar{flex-direction:column;align-items:flex-start}.company-workspace{grid-template-columns:1fr}.company-sidebar{display:none}.company-mobile-nav{display:block;margin-bottom:16px}.modal-card{width:min(720px,100%);padding:18px}.modal-header{flex-direction:column}.modal-form-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.modal-span-1,.modal-span-2,.modal-span-3,.modal-span-4,.modal-span-5,.modal-span-6{grid-column:span 3}}@media (max-width:640px){.modal-backdrop{padding:20px 12px}.modal-card{width:100%;padding:16px;border-radius:14px}.modal-checkbox-grid,.modal-form-grid{grid-template-columns:1fr}.modal-span-1,.modal-span-2,.modal-span-3,.modal-span-4,.modal-span-5,.modal-span-6,.modal-span-full{grid-column:1/-1}.modal-form-grid--assets .modal-field{width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions .button{width:100%}}