:root,[data-theme=light]{--color-primary:#1a56a8;--color-primary-dark:#0f3d7a;--color-primary-light:#3b7dd8;--color-accent:#2e8bc0;--color-surface:#f7f8f9;--color-modal-footer:#f4f3f2;--font-sans:"Source Sans 3", "Segoe UI", sans-serif;--font-display:"DM Sans", "Source Sans 3", sans-serif;--color-bg:#fff;--color-bg-elevated:#fff;--color-text:#334155;--color-text-heading:#0f172a;--color-text-muted:#64748b;--color-border:#e2e8f0;--color-border-light:#f1f5f9;--color-sidebar-bg:#0f3d7a;--color-sidebar-text:#ffffffd9;--color-sidebar-active:#ffffff26;--color-header-bg:#fff;--color-shadow:#0f3d7a14;--color-error:#dc2626;--color-error-bg:#fef2f2;--color-success:#059669;--color-success-bg:#ecfdf5;--color-danger:#b91c1c;--color-input-bg:#fff;--sidebar-width:220px;--sidebar-collapsed:64px;--header-height:64px}[data-theme=dark]{--color-bg:#0f172a;--color-bg-elevated:#1e293b;--color-text:#cbd5e1;--color-text-heading:#f1f5f9;--color-text-muted:#94a3b8;--color-border:#334155;--color-border-light:#1e293b;--color-sidebar-bg:#0a2a4f;--color-sidebar-text:#ffffffe0;--color-sidebar-active:#ffffff1f;--color-header-bg:#1e293b;--color-shadow:#0000004d;--color-surface:#1e293b;--color-modal-footer:#1a2332;--color-error-bg:#450a0a;--color-success-bg:#052e16;--color-input-bg:#0f172a}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}h1,h2,h3,h4{font-family:var(--font-display);color:var(--color-text-heading);margin:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}.btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.55rem 1rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn--secondary{background:var(--color-bg-elevated);color:var(--color-text);border-color:var(--color-border)}.btn--secondary:hover:not(:disabled){background:var(--color-surface)}.btn--ghost{color:var(--color-text);background:0 0}.btn--danger{background:var(--color-danger);color:#fff}.btn__spinner{flex-shrink:0;animation:.8s linear infinite spin}.btn--loading{pointer-events:none}@keyframes spin{to{transform:rotate(360deg)}}.field{flex-direction:column;gap:.35rem;margin-bottom:1rem;display:flex}.field label{color:var(--color-text-heading);font-size:.875rem;font-weight:600}.field__required{color:var(--color-error);margin-left:2px}.field__input{border:1px solid var(--color-border);width:100%;font:inherit;color:var(--color-text);background:var(--color-input-bg);border-radius:8px;padding:.6rem .75rem;transition:border-color .15s,box-shadow .15s}.field__input:focus{border-color:var(--color-primary-light);outline:none;box-shadow:0 0 0 3px #1a56a826}textarea.field__input{resize:vertical;min-height:88px;line-height:1.4}.field__select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.field--error label,.field--error .field__required{color:var(--color-error)}.field--error .field__input{border-color:var(--color-error);background:color-mix(in srgb, var(--color-error) 4%, var(--color-input-bg))}.field--error .field__input:focus{border-color:var(--color-error);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-error) 20%, transparent)}.field__error{color:var(--color-error);margin-top:.1rem;font-size:.8rem;font-weight:500;display:block}.field__hint{color:var(--color-text-muted);align-items:center;gap:.35rem;margin:.25rem 0 0;font-size:.75rem;display:flex}.field--password .field__password-wrap{position:relative}.field--password .field__input{padding-right:2.75rem}.field__password-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.toggle{cursor:pointer;align-items:center;gap:.75rem;display:inline-flex}.toggle--disabled{opacity:.5;cursor:not-allowed}.toggle__label:empty,.toggle__label:not(:empty){font-size:.875rem;font-weight:500}.toggle__label:empty{display:none}.toggle__track{background:var(--color-border);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:44px;height:24px;padding:0;transition:background .2s;position:relative}.toggle__track--on{background:var(--color-primary)}.toggle__thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.toggle__track--on .toggle__thumb{transform:translate(20px)}.alert{border-radius:8px;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem;font-size:.875rem;display:flex}.alert--error{background:var(--color-error-bg);color:var(--color-error);border:1px solid #dc262633}.alert--success{background:var(--color-success-bg);color:var(--color-success);border:1px solid #05966933}.alert__close{cursor:pointer;color:inherit;background:0 0;border:none;font-size:1.25rem;line-height:1}.page{max-width:1400px;padding:1.5rem}.page-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.page-header__main{flex:1;align-items:flex-start;gap:1rem;min-width:0;display:flex}.page-header__icon{width:48px;height:48px;color:var(--color-primary);background:#1a56a81a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.page-header__title{margin:0;font-size:1.5rem;font-weight:700;line-height:1.2}.page-header__subtitle{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:.25rem;font-size:.9rem;overflow:hidden}.page-header__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.modal-overlay{z-index:9000;background:#0f172a80;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--color-bg-elevated);width:100%;max-height:90vh;box-shadow:0 20px 50px var(--color-shadow);border-radius:12px;flex-direction:column;display:flex}.modal--sm{max-width:420px}.modal--md{max-width:560px}.modal--lg{max-width:720px}.modal--xl{max-width:920px}.wizard-steps{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.85rem;display:flex}.wizard-step{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .7rem;font-size:.78rem;font-weight:600;display:flex}.wizard-step--active{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 10%, transparent)}.wizard-step--done{border-color:color-mix(in srgb, var(--color-success,#168d46) 40%, var(--color-border));color:var(--color-success,#168d46)}.wizard-step__num{color:#fff;background:currentColor;border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.7rem;display:inline-flex}.wizard-panel{flex-direction:column;gap:1rem;display:flex}.wizard-panel__title{margin:0;font-size:1rem;font-weight:700}.wizard-panel__hint{color:var(--color-muted);margin:0;font-size:.8rem}.type-cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;display:grid}.type-card{border:1.5px solid var(--color-border);background:var(--color-surface);text-align:left;cursor:pointer;border-radius:10px;padding:1rem .85rem;transition:border-color .15s,box-shadow .15s}.type-card:hover{border-color:color-mix(in srgb, var(--color-primary) 50%, var(--color-border))}.type-card--active{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary)}.type-card__title{margin:0;font-size:.9rem;font-weight:700}.wizard-actions{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin-top:1.25rem;padding-top:.85rem;display:flex}.section-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;flex-direction:column;gap:.85rem;padding:1rem;display:flex}.section-card__title{margin:0;font-size:.85rem;font-weight:700}.role-toggles{flex-wrap:wrap;gap:1rem;display:flex}@media (width<=767px){.wizard-actions{justify-content:stretch}.wizard-actions .btn{flex:1}}.modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;min-height:54px;padding:.55rem 1rem;display:flex}.modal__header-main{align-items:center;gap:.5rem;min-width:0;display:flex}.modal__icon{color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.modal__header-text{min-width:0}.modal__title{margin:0;font-size:.95rem;font-weight:700;line-height:1.2}.modal__description{color:var(--color-text-muted);margin:.1rem 0 0;font-size:.75rem;line-height:1.25}.modal__close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:.2rem;display:inline-flex}.modal__close:hover{background:var(--color-surface)}.modal__body{padding:1rem;overflow-y:auto}.modal__footer{background:var(--color-modal-footer);border-top:1px solid var(--color-border);border-radius:0 0 12px 12px;justify-content:flex-end;align-items:center;gap:.5rem;min-height:48px;padding:.5rem 1rem;display:flex}.dropdown__trigger{border:1px solid var(--color-border);background:var(--color-bg-elevated);width:32px;height:32px;color:var(--color-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.dropdown__trigger:hover{background:var(--color-surface)}.dropdown__menu{z-index:9500;background:var(--color-bg-elevated);border:1px solid var(--color-border);min-width:200px;box-shadow:0 8px 24px var(--color-shadow);border-radius:8px;padding:.35rem;position:fixed}.dropdown__item{width:100%;font:inherit;color:var(--color-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:.6rem;padding:.55rem .75rem;font-size:.875rem;display:flex}.dropdown__item:hover:not(:disabled){background:var(--color-surface)}.dropdown__item:disabled{opacity:.45;cursor:not-allowed}.listing__toolbar{flex-wrap:wrap;justify-content:space-between;gap:.75rem;margin-bottom:1rem;display:flex}.listing__toolbar-left,.listing__toolbar-right,.listing__filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.listing__filter-select{appearance:none;border:1px solid var(--color-border);background-color:var(--color-input-bg);min-width:148px;height:40px;color:var(--color-text);font:inherit;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right .65rem center;background-repeat:no-repeat;background-size:16px;border-radius:8px;padding:0 2rem 0 .75rem;font-size:.875rem;line-height:1}.listing__filter-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 20%, transparent);outline:none}.listing__search{border:1px solid var(--color-border);background:var(--color-input-bg);box-sizing:border-box;border-radius:8px;align-items:center;gap:.5rem;min-width:200px;height:40px;padding:0 .75rem;display:flex}.listing__search input{height:100%;font:inherit;color:var(--color-text);background:0 0;border:none;width:100%;min-width:140px;padding:0}.listing__search input:focus{outline:none}.listing__search svg{color:var(--color-text-muted);flex-shrink:0}.listing__table-wrap{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.listing__table-wrap--loading{opacity:.7;pointer-events:none}.listing__table{border-collapse:collapse;width:100%}.listing__table th,.listing__table td{text-align:left;border-bottom:1px solid var(--color-border-light);padding:.75rem 1rem}.listing__table th{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);background:var(--color-surface);vertical-align:middle;height:36px;padding:.4rem .85rem;font-size:.75rem;font-weight:700;line-height:1.2}.listing__row--clickable{cursor:pointer}.listing__row--clickable:hover td{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-bg-elevated))}.listing__row--clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.listing__th-icon,.listing__td-icon{text-align:center;width:48px;color:var(--color-primary)}.listing__th-icon{padding:.4rem .5rem}.listing__th-actions,.listing__td-actions{text-align:center;width:56px}.listing__th-actions{padding:.4rem .5rem}.listing__th--sortable{height:36px;padding:0}.listing__sort-btn{width:100%;height:100%;min-height:36px;font:inherit;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.4rem .85rem;font-size:.75rem;font-weight:700;display:flex}.listing__sort-btn:hover{color:var(--color-primary)}.listing__sort-icon{opacity:.4}.listing__sort-icon--active{opacity:1;color:var(--color-primary)}.listing__empty{text-align:center;min-height:280px;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2.5rem 1.5rem;display:flex}.listing__empty-icon{opacity:.35;color:var(--color-text-muted);flex-shrink:0}.listing__empty-message{max-width:28rem;margin:0;font-size:1rem;font-weight:500;line-height:1.4}.listing__cards{display:none}.listing-card{border-bottom:1px solid var(--color-border-light);padding:1rem}.listing-card--clickable{cursor:pointer}.listing-card--clickable:hover{background:color-mix(in srgb, var(--color-primary) 6%, var(--color-bg-elevated))}.listing-card--clickable:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.listing-card:last-child{border-bottom:none}.listing-card__header{justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;display:flex}.listing-card__title-wrap{color:var(--color-primary);align-items:flex-start;gap:.75rem;display:flex}.listing-card__title{color:var(--color-text-heading);font-size:1rem;font-weight:600}.listing-card__subtitle{color:var(--color-text-muted);margin-top:.15rem;font-size:.8rem}.listing-card__row{justify-content:space-between;gap:1rem;padding:.35rem 0;font-size:.875rem;display:flex}.listing-card__label{color:var(--color-text-muted);font-weight:500}.listing__pagination{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:.75rem 0 .25rem;font-size:.875rem;display:flex}.listing__pagination-info{background:color-mix(in srgb, var(--color-primary) 8%, var(--color-surface));border:1px solid color-mix(in srgb, var(--color-primary) 18%, var(--color-border));color:var(--color-text-muted);border-radius:999px;align-items:center;gap:.4rem;padding:.4rem .85rem .4rem .65rem;line-height:1.2;display:inline-flex}.listing__pagination-info-icon{color:var(--color-primary);opacity:.85;flex-shrink:0}.listing__pagination-range{font-variant-numeric:tabular-nums;color:var(--color-primary);letter-spacing:.01em;font-weight:700}.listing__pagination-sep{opacity:.55;margin:0 .1rem;font-weight:500}.listing__pagination-of{opacity:.8;font-size:.8rem}.listing__pagination-total{font-variant-numeric:tabular-nums;color:var(--color-text);font-weight:700}.listing__pagination-label,.listing__pagination-empty{font-size:.8rem}.listing__pagination-controls{align-items:center;gap:1rem;display:flex}.listing__per-page{align-items:center;gap:.5rem;display:flex}.listing__per-page select{border:1px solid var(--color-border);font:inherit;background:var(--color-input-bg);color:var(--color-text);border-radius:6px;padding:.35rem .5rem}.listing__page-buttons{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.listing__page-num{border:1px solid var(--color-border);background:var(--color-bg-elevated);min-width:36px;height:36px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:8px;padding:0 .5rem;font-size:.875rem;font-weight:600}.listing__page-num:hover:not(:disabled){background:var(--color-surface)}.listing__page-num--active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;cursor:default}.listing__page-num:disabled{opacity:.55;cursor:not-allowed}.listing__page-ellipsis{text-align:center;min-width:1.5rem;color:var(--color-text-muted);-webkit-user-select:none;user-select:none}.listing__page-buttons .btn{min-width:36px;padding-left:.5rem;padding-right:.5rem}.app-layout{min-height:100vh;display:flex}.app-layout__main{margin-left:var(--sidebar-width);flex-direction:column;flex:1;min-width:0;transition:margin-left .2s;display:flex}.app-layout__main--collapsed{margin-left:var(--sidebar-collapsed)}.app-layout__content{margin-top:var(--header-height);background:var(--color-surface);min-height:calc(100vh - var(--header-height));flex:1;overflow-y:auto}.sidebar-backdrop{display:none}.sidebar{width:var(--sidebar-width);background:var(--color-sidebar-bg);height:100vh;color:var(--color-sidebar-text);z-index:200;flex-direction:column;transition:width .2s,transform .2s;display:flex;position:fixed;top:0;left:0;overflow:hidden}.sidebar--collapsed{width:var(--sidebar-collapsed)}.sidebar__brand{min-height:var(--header-height);border-bottom:1px solid #ffffff1a;justify-content:center;align-items:center;padding:.75rem 2.75rem;display:flex;position:relative}.sidebar__brand-logo-wrap{justify-content:center;align-items:center;width:100%;min-width:0;display:flex}.sidebar__brand-logo{margin:0 auto}.sidebar--collapsed .sidebar__brand{flex-direction:column;justify-content:center;gap:.5rem;padding:.75rem .5rem}.sidebar--collapsed .sidebar__brand-logo-wrap{justify-content:center}.sidebar__brand-title{font-family:var(--font-display);color:#fff;font-size:1rem;font-weight:700;display:block}.sidebar__brand-sub{opacity:.7;font-size:.75rem}.sidebar__collapse-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.sidebar--collapsed .sidebar__collapse-btn{position:static;transform:none}.sidebar__nav{flex:1;padding:.75rem .5rem;overflow-y:auto}.sidebar__link,.sidebar__sublink{color:var(--color-sidebar-text);cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:.75rem;width:100%;padding:.65rem .75rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s;display:flex}.sidebar__link:hover,.sidebar__sublink:hover{background:#ffffff14;text-decoration:none}.sidebar__link--active,.sidebar__sublink--active{background:var(--color-sidebar-active);color:#fff}.sidebar__link--group{justify-content:flex-start}.sidebar__link--group span:first-of-type{text-align:left;flex:1}.sidebar__chevron{margin-left:auto;transition:transform .2s}.sidebar__chevron--open{transform:rotate(180deg)}.sidebar__submenu{margin-top:.25rem;padding-left:.5rem}.sidebar__sublink{padding-left:2.25rem;font-size:.85rem}.sidebar__footer{text-align:center;border-top:1px solid #ffffff1a;padding:1rem}.sidebar__version{opacity:.6;font-size:.75rem}.header{top:0;right:0;left:var(--sidebar-width);height:var(--header-height);background:var(--color-header-bg);border-bottom:1px solid var(--color-border);z-index:100;justify-content:space-between;align-items:center;padding:0 1rem;transition:left .2s;display:flex;position:fixed}.app-layout__main--collapsed .header{left:var(--sidebar-collapsed)}.header__left,.header__right{flex:1;align-items:center;gap:.5rem;display:flex}.header__right{justify-content:flex-end}.header__center{flex:2;justify-content:center;display:flex}.header__menu-btn{color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:.35rem;display:none}.header__company{position:relative}.header__company-btn{border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-heading);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:.5rem;max-width:320px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;display:flex}.header__company-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.header__company-menu{background:var(--color-bg-elevated);border:1px solid var(--color-border);min-width:240px;box-shadow:0 8px 24px var(--color-shadow);z-index:300;border-radius:8px;padding:.35rem;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.header__company-item{width:100%;font:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.875rem;display:flex}.header__company-item:hover{background:var(--color-surface)}.header__company-item--active{color:var(--color-primary);font-weight:600}.header__icon-btn{width:40px;height:40px;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex;position:relative}.header__icon-btn:hover{background:var(--color-surface)}.header__notif-badge{background:var(--color-danger,#dc2626);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:absolute;top:4px;right:4px}.header__user{position:relative}.header__user-btn{cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;padding:.25rem;display:flex}.header__avatar{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.8rem;font-weight:700;display:flex}.header__user-menu{background:var(--color-bg-elevated);border:1px solid var(--color-border);min-width:240px;box-shadow:0 8px 24px var(--color-shadow);z-index:300;border-radius:8px;padding:.35rem;position:absolute;top:calc(100% + 4px);right:0}.header__user-info{border-bottom:1px solid var(--color-border);align-items:center;gap:.75rem;padding:.75rem;display:flex}.header__user-info-avatar{background:var(--color-surface);width:40px;height:40px;color:var(--color-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.header__user-info-text{flex-direction:column;gap:.15rem;min-width:0;display:flex}.header__user-info-text strong{color:var(--color-text-heading);white-space:nowrap;text-overflow:ellipsis;font-size:.875rem;overflow:hidden}.header__user-info-text span{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.header__user-item{width:100%;font:inherit;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.6rem;padding:.6rem .75rem;font-size:.875rem;text-decoration:none;display:flex}.header__user-item:hover{background:var(--color-surface);text-decoration:none}.notif-slider{z-index:1000;position:fixed;inset:0}.notif-slider__backdrop{cursor:pointer;background:#0f172a66;border:none;padding:0;position:absolute;inset:0}.notif-slider__panel{background:var(--color-bg-elevated);width:min(380px,100vw);height:100%;box-shadow:-8px 0 32px var(--color-shadow);flex-direction:column;animation:.2s ease-out notif-slide-in;display:flex;position:absolute;top:0;right:0}@keyframes notif-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.notif-slider__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1rem .75rem;display:flex}.notif-slider__header h2{color:var(--color-text-heading);margin:0;font-size:1.1rem}.notif-slider__body{flex:1;padding:1rem;overflow-y:auto}.notif-slider__empty{height:100%;min-height:220px;color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;display:flex}.notif-slider__empty p{margin:0;font-size:.95rem}.notif-slider__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.notif-slider__item{border:1px solid var(--color-border);background:var(--color-bg);border-radius:8px;padding:.85rem}.notif-slider__item--unread{border-color:var(--color-primary-light,var(--color-primary))}.notif-slider__item strong{color:var(--color-text-heading);margin-bottom:.25rem;font-size:.875rem;display:block}.notif-slider__item p{color:var(--color-text);margin:0 0 .35rem;font-size:.85rem}.notif-slider__item time{color:var(--color-text-muted);font-size:.75rem}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-page--single{grid-template-columns:1fr}.auth-page__visual{color:#fff;background:linear-gradient(135deg,#0f3d7ad1 0%,#1a56a8b8 55%,#2e8bc0a6 100%),url(/images/login-saneamento.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;padding:2rem;display:flex;position:relative;overflow:hidden}.auth-page__visual-content{z-index:1;text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:420px;display:flex;position:relative}.auth-page__brand-logo{margin:0 auto 1.5rem;display:block}.brand-logo.auth-page__brand-logo{margin-left:auto;margin-right:auto}.auth-page__form-logo{margin:0 auto 1.5rem;display:none}@media (width<=900px){.auth-page__form-logo{display:block}}.auth-page__logo{width:80px;height:80px;font-family:var(--font-display);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 1.5rem;font-size:2rem;font-weight:800;display:flex}.brand-logo{object-fit:contain;-webkit-user-select:none;user-select:none;height:auto;display:block}.brand-logo--sm{max-width:140px;max-height:48px}.brand-logo--md{max-width:200px;max-height:72px}.brand-logo--lg{max-width:280px;max-height:120px}.brand-logo--icon{object-fit:cover;object-position:top center;border-radius:50%;width:36px;height:36px}.brand-logo--on-dark{filter:brightness(0)invert()}.auth-page__visual h1{color:#fff;margin-bottom:.75rem;font-size:2rem}.auth-page__visual p{opacity:.9;line-height:1.6}.auth-page__form-panel{background:var(--color-bg);justify-content:center;align-items:center;padding:2rem;display:flex}.auth-page__form-panel--full{min-height:100vh}.auth-page__form-wrap{width:100%;max-width:400px}.auth-page__form-wrap--narrow{max-width:420px}.auth-page__form-header{text-align:center;margin-bottom:2rem}.auth-page__form-icon{color:var(--color-primary);margin-bottom:.75rem}.auth-page__form-header h2{margin-bottom:.35rem;font-size:1.5rem}.auth-page__form-header p{color:var(--color-text-muted);font-size:.9rem}.auth-page__form{flex-direction:column;display:flex}.auth-page__options{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:-.25rem 0 1rem;display:flex}.auth-page__forgot-link{margin-left:auto;font-size:.875rem}.auth-page__submit{width:100%;margin-top:.5rem}.auth-page__back-link{color:var(--color-primary);font:inherit;cursor:pointer;text-align:center;background:0 0;border:none;margin-top:1rem;font-size:.875rem}.auth-page__back-link--inline{justify-content:center;align-items:center;gap:.35rem;text-decoration:none;display:inline-flex}.dashboard-welcome{background:var(--color-bg-elevated);border:1px solid var(--color-border);text-align:center;border-radius:16px;max-width:640px;padding:2.5rem}.dashboard-welcome__icon{color:var(--color-primary);margin-bottom:1rem}.dashboard-welcome h2{margin-bottom:.5rem;font-size:1.75rem}.dashboard-welcome p{color:var(--color-text-muted)}.dashboard-welcome__hint{margin-top:1rem;font-size:.875rem}.profile-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:12px;width:100%;max-width:900px;margin:0 auto;overflow:hidden}.profile-card__header{border-bottom:1px solid var(--color-border);align-items:center;gap:1rem;padding:1.5rem;display:flex}.profile-card__header .badge{margin-top:.35rem}.profile-card__avatar{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:1.25rem;font-weight:700;display:flex}.profile-card__section{padding:1.5rem}.profile-card__section--bordered{border-top:1px solid var(--color-border)}.profile-card__form{flex-direction:column;gap:.25rem;display:flex}.profile-card__form--password-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1rem;display:grid}@media (width<=767px){.profile-card__form--password-row{grid-template-columns:1fr}}.profile-card__section h3{align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:1rem;display:flex}.profile-card__hint{color:var(--color-text-muted);margin-bottom:1.25rem;font-size:.875rem}.profile-card__actions{margin-top:1.25rem}.profile-card__alerts{padding:1rem 1.5rem 0}.profile-card__footer{border-top:1px solid var(--color-border);background:var(--color-modal-footer,#f4f3f2);justify-content:flex-end;padding:1rem 1.5rem 1.5rem;display:flex}.settings-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:12px;max-width:820px;overflow:hidden}.settings-card__header{border-bottom:1px solid var(--color-border);color:var(--color-primary);align-items:flex-start;gap:.75rem;padding:1.25rem 1.5rem;display:flex}.settings-card__header h2{color:var(--color-text-heading);margin:0;font-size:1.05rem;font-weight:700}.settings-card__header p{color:var(--color-text-muted);margin:.25rem 0 0;font-size:.85rem;line-height:1.4}.settings-card__body{flex-direction:column;gap:.25rem;padding:1.25rem 1.5rem;display:flex}.settings-card__loading{color:var(--color-text-muted);text-align:center;padding:2rem 1.5rem}.settings-card__footer{border-top:1px solid var(--color-border);background:var(--color-modal-footer,#f4f3f2);justify-content:flex-end;padding:.75rem 1.5rem 1.25rem;display:flex}.badge{white-space:nowrap;vertical-align:middle;border:1px solid #0000;border-radius:999px;align-items:center;gap:.25rem;padding:.2rem .65rem;font-size:.75rem;font-weight:600;line-height:1.35;display:inline-flex}.badge--neutral{background:color-mix(in srgb, var(--color-text-muted) 12%, var(--color-surface));border-color:color-mix(in srgb, var(--color-text-muted) 22%, var(--color-border));color:var(--color-text-muted)}.badge--success{background:var(--color-success-bg);border-color:color-mix(in srgb, var(--color-success) 25%, transparent);color:var(--color-success)}.badge--danger{background:var(--color-error-bg);border-color:color-mix(in srgb, var(--color-error) 25%, transparent);color:var(--color-error)}.badge--warning{color:#b45309;background:#fffbeb;border-color:#fde68a}.badge--info{background:color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));border-color:color-mix(in srgb, var(--color-accent) 28%, transparent);color:var(--color-accent)}.badge--primary,.badge--root{background:color-mix(in srgb, var(--color-primary) 12%, var(--color-surface));border-color:color-mix(in srgb, var(--color-primary) 28%, transparent);color:var(--color-primary)}[data-theme=dark] .badge--warning{color:#fbbf24;background:#422006;border-color:#92400e}.form-grid{gap:0;display:grid}.form-grid--2{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:0 1rem}.form-grid__span-2{grid-column:1/-1}@media (width<=767px){.form-grid--2{grid-template-columns:1fr}}.loading-screen{min-height:100vh;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.loading-screen__spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.confirm-dialog__text{color:var(--color-text-muted);font-size:.9rem}.audit-detail{flex-direction:column;gap:.5rem;font-size:.875rem;display:flex}.audit-detail p{color:var(--color-text);word-break:break-word;margin:0}.audit-detail__diff{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem;display:grid}.audit-detail__diff h4{color:var(--color-text-muted);margin:0 0 .35rem;font-size:.8rem}.audit-detail__diff pre{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;max-height:220px;margin:0;padding:.75rem;font-size:.75rem;overflow:auto}@media (width<=767px){.audit-detail__diff{grid-template-columns:1fr}}@media (width<=1023px){.sidebar-backdrop{z-index:199;background:#0006;display:block;position:fixed;inset:0}.sidebar{transform:translate(-100%);width:var(--sidebar-width)!important}.sidebar--mobile-open{transform:translate(0)}.app-layout__main,.app-layout__main--collapsed{margin-left:0}.header{left:0!important}.header__menu-btn{display:flex}.listing__hide-mobile,.listing__table{display:none}.listing__cards{display:block}.listing__toolbar{flex-direction:column}.listing__toolbar-left,.listing__toolbar-right{width:100%}.listing__search{flex:1}}@media (width<=767px){.auth-page{grid-template-columns:1fr}.auth-page__visual{display:none}.auth-page__form-panel{min-height:100vh}.page{padding:1rem}.page-header__subtitle{white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.header__company-btn{max-width:180px;padding:.4rem .75rem;font-size:.8rem}}.toast-stack{top:calc(var(--header-height,64px) + .75rem);z-index:10000;pointer-events:none;flex-direction:column;gap:.5rem;max-width:min(420px,100vw - 2rem);display:flex;position:fixed;right:1rem}.toast{pointer-events:auto;box-shadow:0 10px 30px var(--color-shadow);border-radius:10px;align-items:flex-start;gap:.65rem;padding:.75rem .85rem;animation:.22s ease-out toast-in;display:flex}.toast--success{background:var(--color-bg-elevated);border:1px solid color-mix(in srgb, var(--color-success) 35%, var(--color-border));color:var(--color-text)}.toast__icon{color:var(--color-success);flex-shrink:0;margin-top:1px}.toast__message{color:var(--color-text-heading);flex:1;margin:0;font-size:.875rem;font-weight:550;line-height:1.35}.toast__close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.1rem;display:inline-flex}.toast__close:hover{background:var(--color-surface);color:var(--color-text)}@keyframes toast-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@media (width<=767px){.toast-stack{max-width:none;top:.75rem;left:.75rem;right:.75rem}}
