.theme-light{--bg:#f8f7fb;--surface:#fff;--text:#6b6375;--text-h:#08060d;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--input-bg:#fff;--input-border:#d1d5db;--error:#dc2626;--error-bg:#dc26261a;--overlay:#0006;--modal-shadow:#0000001a 0 16px 48px;--org-municipality:#5b6abf;--org-municipality-bg:#5b6abf1f;--org-department:#2a8f6f;--org-department-bg:#2a8f6f1f;--org-unit:#b87a1a;--org-unit-bg:#b87a1a1f;--org-team:#9b4dca;--org-team-bg:#9b4dca1f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.theme-dark{--bg:#16171d;--surface:#1f2028;--text:#9ca3af;--text-h:#f3f4f6;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--input-bg:#2a2c37;--input-border:#3a3c4a;--error:#f87171;--error-bg:#f8717126;--overlay:#0000008c;--modal-shadow:#00000073 0 16px 48px;--org-municipality:#8b9cf5;--org-municipality-bg:#8b9cf533;--org-department:#4db896;--org-department-bg:#4db89633;--org-unit:#e0a84a;--org-unit-bg:#e0a84a33;--org-team:#c77dff;--org-team-bg:#c77dff33;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (width<=640px){:root{font-size:15px}}#root{box-sizing:border-box;text-align:left;flex-direction:column;width:100%;max-width:100%;min-height:100svh;margin:0;display:flex}#root:has(.auth-page){padding:1rem;padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));align-items:stretch}body{margin:0;overflow-x:clip}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}th,td{padding-left:1rem;padding-right:1rem}@media (width<=767px){th,td{padding-left:.75rem;padding-right:.75rem}}.auth-container{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;box-shadow:var(--shadow);text-align:left;box-sizing:border-box;border-radius:12px;margin:0 auto;padding:1.25rem}@media (width>=640px){.auth-container{padding:2rem}}.auth-form{flex-direction:column;gap:.75rem;display:flex}.auth-form input{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-h);box-sizing:border-box;border-radius:6px;padding:.6rem .75rem;font-size:1rem;transition:border-color .15s}.auth-form input:focus{border-color:var(--accent);outline:none}.auth-form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.65rem;font-size:1rem;transition:opacity .15s}.auth-form button:hover:not(:disabled){opacity:.85}.auth-form button:disabled{opacity:.5;cursor:not-allowed}.auth-error{color:var(--error);margin:0;font-size:.875rem}.home-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.home-actions button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;flex:100%;min-height:44px;padding:.65rem;font-size:1rem;transition:opacity .15s}.home-actions button:hover{opacity:.85}.app-layout{width:100%;padding-top:calc(56px + env(safe-area-inset-top,0px));background:var(--bg);--sidebar-width:240px;flex-direction:column;min-height:100svh;display:flex}.app-layout--sidebar-collapsed{--sidebar-width:0px}.page-content{width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width);box-sizing:border-box;flex:1;padding:1rem .75rem;transition:margin-left .25s,width .25s}.page-content>*{box-sizing:border-box;width:100%;max-width:100%}@media (width>=640px){.page-content{padding:1.5rem 1rem}}@media (width>=768px){.page-content{padding:2rem 1.5rem}}.auth-page{flex-direction:column;flex:1;align-items:center;width:100%;min-height:100%;display:flex}.auth-page .auth-container{margin-top:auto;margin-bottom:auto}.app-footer{z-index:160;width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width);padding:1.25rem .75rem;padding-bottom:max(1.25rem, env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface);box-sizing:border-box;flex-shrink:0;transition:margin-left .25s,width .25s;position:sticky;bottom:0}.app-footer--auth{text-align:center;background:0 0;border-top:none;width:100%;margin-top:auto;margin-left:0}.app-footer__text{color:var(--text);opacity:.75;margin:0;font-size:.8rem}@media (width>=640px){.app-footer{padding:1.5rem 1rem}.app-footer--auth{padding-bottom:max(1.5rem, env(safe-area-inset-bottom))}}@media (width>=768px){.app-footer{padding:1.5rem;padding-bottom:max(1.5rem, env(safe-area-inset-bottom))}}.navbar{height:calc(56px + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px);background:var(--surface);border-bottom:1px solid var(--border);padding-left:max(.75rem, env(safe-area-inset-left));padding-right:max(.75rem, env(safe-area-inset-right));z-index:100;box-shadow:var(--shadow);box-sizing:border-box;align-items:center;gap:.5rem;display:flex;position:fixed;top:0;left:0;right:0}@media (width>=640px){.navbar{gap:.75rem;padding-left:1rem;padding-right:1rem}}.navbar__brand{min-width:0;color:var(--text-h);letter-spacing:-.3px;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:1rem;font-weight:600;text-decoration:none;overflow:hidden}@media (width>=640px){.navbar__brand{font-size:1.1rem}}.navbar__links{flex-shrink:0;align-items:center;gap:.25rem;min-width:0;display:flex}.navbar__link{color:var(--text);border-radius:6px;padding:.35rem .65rem;font-size:.9rem;text-decoration:none;transition:color .15s,background .15s}.navbar__link--logout{cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:none;flex-shrink:0}@media (width<=479px){.navbar__link--logout{padding:.35rem .45rem;font-size:.8rem}}.navbar__link:hover,.navbar__link.active{color:var(--accent);background:var(--accent-bg)}.navbar__btn{cursor:pointer;width:44px;height:44px;color:var(--text-h);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;transition:background .15s;display:flex}@media (width>=768px){.navbar__btn{width:36px;height:36px}}.navbar__btn:hover{background:var(--accent-bg)}.navbar__select{background:var(--input-bg);border:1px solid var(--input-border);max-width:min(160px,38vw);height:36px;color:var(--text-h);cursor:pointer;text-overflow:ellipsis;border-radius:6px;padding:.35rem .5rem;font-size:.8rem;transition:border-color .15s}@media (width>=640px){.navbar__select{max-width:220px;height:30px;font-size:.875rem}}.navbar__select:focus{border-color:var(--accent);outline:none}.user-menu{flex-shrink:0;position:relative}.user-menu__trigger{background:var(--input-bg);border:1px solid var(--input-border);max-width:min(200px,42vw);color:var(--text-h);font:inherit;cursor:pointer;border-radius:6px;align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.85rem;transition:border-color .15s,background .15s;display:flex}.user-menu__trigger:hover{border-color:var(--accent);background:var(--accent-bg)}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-menu__chevron{opacity:.7;flex-shrink:0;font-size:.75rem}.user-menu__dropdown{background:var(--surface);border:1px solid var(--border);min-width:240px;box-shadow:var(--shadow);z-index:200;border-radius:8px;padding:.35rem 0;position:absolute;top:calc(100% + 4px);right:0}.user-menu__item{justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex}.user-menu__item--static,.user-menu__item--theme{border-bottom:1px solid var(--border)}.user-menu__label{color:var(--text);font-size:.85rem}.user-menu__value{color:var(--text-h);text-align:right;font-size:.85rem;font-weight:500}.user-menu__action{text-align:left;width:100%;font:inherit;color:var(--text-h);cursor:pointer;background:0 0;border:none;padding:.65rem 1rem;font-size:.9rem;transition:background .15s;display:block}.user-menu__action:hover{background:var(--accent-bg)}.user-menu__action--danger{color:var(--danger,#c0392b);border-top:1px solid var(--border)}.theme-switch{flex-shrink:0;align-items:center;width:44px;height:24px;display:inline-flex;position:relative}.theme-switch input{opacity:0;width:0;height:0;position:absolute}.theme-switch__slider{background:var(--input-border);cursor:pointer;border-radius:999px;transition:background .2s;position:absolute;inset:0}.theme-switch__slider:before{content:"";background:var(--surface);border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.theme-switch input:checked+.theme-switch__slider{background:var(--accent)}.theme-switch input:checked+.theme-switch__slider:before{transform:translate(20px)}.role-select-modal__hint{color:var(--text);margin:0 0 1rem;font-size:.9rem}.role-select-modal__list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.role-select-modal__option{background:var(--input-bg);border:1px solid var(--input-border);width:100%;font:inherit;color:var(--text-h);text-align:left;cursor:pointer;border-radius:6px;padding:.75rem 1rem;font-size:.95rem;transition:border-color .15s,background .15s}.role-select-modal__option:hover:not(:disabled),.role-select-modal__option--active{border-color:var(--accent);background:var(--accent-bg)}.role-select-modal__option:disabled{opacity:.6;cursor:not-allowed}.menu-overlay{display:none}.menu-drawer{top:calc(56px + env(safe-area-inset-top,0px));width:240px;padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-right:1px solid var(--border);z-index:90;flex-direction:column;transition:transform .25s;display:flex;position:fixed;bottom:0;left:0;transform:translate(0)}.menu-drawer:not(.open){transform:translate(-100%)}@media (width<=767px){.app-layout{--sidebar-width:0px}.menu-overlay{inset:0;top:calc(56px + env(safe-area-inset-top,0px));background:var(--overlay);z-index:140;opacity:0;pointer-events:none;transition:opacity .2s;display:block;position:fixed}.menu-overlay.open{opacity:1;pointer-events:all}.menu-drawer{z-index:150;width:min(280px,85vw);box-shadow:var(--shadow);padding-left:env(safe-area-inset-left,0px)}.menu-drawer__link{align-items:center;min-height:44px;padding:.875rem 1.25rem;display:flex}}.menu-drawer__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:.75rem;display:flex}.menu-drawer__title{color:var(--text-h);font-size:.95rem;font-weight:600}.menu-drawer__nav{flex-direction:column;padding:.5rem 0;display:flex;overflow-y:auto}.menu-drawer__link{color:var(--text);padding:.75rem 1.25rem;font-size:.9rem;text-decoration:none;transition:background .15s,color .15s}.menu-drawer__link:hover,.menu-drawer__link.active{background:var(--accent-bg);color:var(--accent)}.data-grid{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:100%;overflow-x:auto}.data-grid__table{border-collapse:collapse;width:100%;font-size:.9rem}.data-grid__th{text-align:left;color:var(--text);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--border);background:var(--bg);white-space:nowrap;padding:.75rem 1rem;font-size:.75rem;font-weight:600}.data-grid__th:first-child{border-radius:10px 0 0}.data-grid__th:last-child{border-radius:0 10px 0 0}.data-grid__td{color:var(--text-h);border-bottom:1px solid var(--border);vertical-align:middle;padding:.75rem 1rem}.data-grid__tr:last-child .data-grid__td{border-bottom:none}.data-grid__tr:hover .data-grid__td{background:var(--accent-bg)}.data-grid__empty{text-align:center;color:var(--text);padding:3rem;font-size:.9rem}.privilege-list{flex-wrap:wrap;gap:.4rem;display:flex}.privilege-badge{background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);white-space:nowrap;border-radius:99px;padding:.2rem .55rem;font-size:.75rem;display:inline-block}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.page-header h2{flex:1;min-width:0;margin:0}.page-header__actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.filter-badge{background:var(--accent);color:#fff;border-radius:99px;justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;margin-left:.35rem;padding:0 .35rem;font-size:.7rem;font-weight:600;display:inline-flex}.btn-secondary--active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}@media (width<=639px){.page-header{flex-direction:column;align-items:stretch}.page-header__actions{width:100%}.page-header__actions .btn{flex:1}}.settings-section{background:var(--surface);border:1px solid var(--border);max-width:720px;box-shadow:var(--shadow);border-radius:8px;padding:1.25rem}.settings-row{border-radius:8px;justify-content:space-between;align-items:flex-start;gap:1rem;margin:-.75rem;padding:.75rem;transition:background .15s;display:flex}.settings-row--changed{background:var(--accent-bg);outline:1px solid color-mix(in srgb, var(--accent) 35%, transparent)}.settings-row+.settings-row{margin-top:.5rem}.settings-row__text{flex:1;min-width:0}.settings-row__title{color:var(--text-h);margin:0 0 .35rem;font-size:1rem}.settings-row__description{color:var(--text);margin:0;font-size:.875rem;line-height:1.45}.settings-row__readonly,.settings-row__saved{margin:.5rem 0 0;font-size:.85rem}.settings-row__readonly{color:var(--text)}.settings-row__saved{color:var(--accent)}.settings-row__switch{flex-shrink:0;margin-top:.15rem}.settings-section .form-actions{margin-top:1.25rem}.settings-confirm-list{margin:.75rem 0 0;padding-left:1.25rem}.settings-confirm-list li{margin:.25rem 0}.clients-viewport{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;overflow:hidden}.clients-tab-bar{margin-bottom:1rem}.clients-shell__content{min-width:0}.clients-viewport--panel{border-top:none;border-radius:0 0 10px 10px;margin-top:-1rem}.clients-shell .clients-tab-bar{border-radius:10px 10px 0 0;margin-bottom:0}.clients-shell .clients-viewport--panel{border-radius:0 0 10px 10px;margin-top:0}.clients-viewport__header{border-bottom:1px solid var(--border);background:var(--bg);align-items:stretch;min-height:2.75rem;display:flex;overflow-y:hidden}.clients-viewport__back{border:none;border-right:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;align-items:center;gap:.15rem;padding:0 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.clients-viewport__back:hover{background:var(--accent-bg);color:var(--accent)}.clients-tabs{flex-wrap:nowrap;flex:1;gap:0;min-width:0;display:flex;overflow:auto hidden}.clients-tabs__tab{border-right:1px solid var(--border);flex-shrink:0;align-items:stretch;max-width:220px;display:flex}.clients-tabs__tab--active{background:var(--surface);border-bottom:1px solid var(--surface);margin-bottom:-1px;padding-bottom:1px}.clients-tabs__label{min-width:0;color:var(--text);text-align:left;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;flex:1;padding:.6rem .75rem;font-size:.875rem;overflow:hidden}.clients-tabs__tab--active .clients-tabs__label{color:var(--text-h);font-weight:600}.clients-tabs__label:hover{color:var(--accent)}.clients-tabs__close{width:2rem;color:var(--text);cursor:pointer;background:0 0;border:none;border-left:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.15rem;line-height:1;display:inline-flex}.clients-tabs__tab:hover .clients-tabs__close,.clients-tabs__tab--active .clients-tabs__close{border-left-color:var(--border)}.clients-tabs__close:hover{background:var(--accent-bg);color:var(--accent)}.clients-viewport__panel{min-height:12rem;padding:1.25rem 1.5rem}.clients-viewport__panel--loading{color:var(--text)}.clients-viewport__panel--with-subtabs{padding:0}.client-subtabs{border-bottom:1px solid var(--border);background:var(--bg);gap:0;display:flex;overflow:auto hidden}.client-subtabs__tab{color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;flex-shrink:0;margin-bottom:-1px;padding:.7rem 1.25rem;font-size:.875rem;font-weight:500}.client-subtabs__tab:hover{color:var(--accent)}.client-subtabs__tab--active{color:var(--accent);border-bottom-color:var(--accent);background:var(--surface)}.client-subtabs__content{padding:1.25rem 1.5rem}.client-subtabs__stub{color:var(--text);margin:0;font-size:.9rem;line-height:1.5}.clients-detail__table{border-collapse:collapse;width:100%;font-size:.9rem}.clients-detail__table th{text-align:left;color:var(--text);vertical-align:top;white-space:nowrap;width:38%;padding:.5rem .75rem .5rem 0;font-weight:600}.clients-detail__table td{color:var(--text-h);word-break:break-word;padding:.5rem 0}.clients-detail__table tr+tr th,.clients-detail__table tr+tr td{border-top:1px solid var(--border)}.client-overview{color:var(--text);flex-direction:column;gap:1rem;display:flex}.client-overview-header,.overview-kpi-card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px}.client-overview-header{flex-direction:column;gap:1rem;padding:1.1rem;display:flex}.client-overview-header__identity{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.client-overview-header__eyebrow{letter-spacing:0;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:700}.client-overview-header h2{margin:.15rem 0 0}.client-overview-header__details{grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;display:grid}.client-overview-info-pair{min-width:0}.client-overview-info-pair span,.absence-summary__status span{color:var(--text);font-size:.76rem;font-weight:600;display:block}.client-overview-info-pair strong{color:var(--text-h);overflow-wrap:anywhere;margin-top:.15rem;font-size:.92rem;line-height:1.3;display:block}.client-overview-summary{background:var(--bg);border:1px solid var(--border);border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;padding:.6rem;display:grid}.client-overview-summary__item{border-left:3px solid var(--border);min-width:0;padding:.5rem .65rem}.client-overview-summary__item span{color:var(--text);font-size:.72rem;font-weight:600;display:block}.client-overview-summary__item strong{color:var(--text-h);margin-top:.05rem;font-size:.95rem;display:block}.client-overview-summary__item--success{border-left-color:#1f8a4c}.client-overview-summary__item--warning{border-left-color:#b7791f}.client-overview-summary__item--critical{border-left-color:#c53030}.client-overview-summary__item--info{border-left-color:#2b6cb0}.overview-badge{border:1px solid var(--border);background:var(--bg);min-height:1.5rem;color:var(--text-h);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:.15rem .55rem;font-size:.74rem;font-weight:700;line-height:1.2;display:inline-flex}.overview-badge--success{background:color-mix(in srgb, #1f8a4c 14%, var(--surface));border-color:color-mix(in srgb, #1f8a4c 45%, var(--border));color:#16633a}.overview-badge--warning{background:color-mix(in srgb, #b7791f 16%, var(--surface));border-color:color-mix(in srgb, #b7791f 45%, var(--border));color:#7a4b12}.overview-badge--critical{background:color-mix(in srgb, #c53030 13%, var(--surface));border-color:color-mix(in srgb, #c53030 45%, var(--border));color:#8d1f1f}.overview-badge--info{background:color-mix(in srgb, #2b6cb0 13%, var(--surface));border-color:color-mix(in srgb, #2b6cb0 42%, var(--border));color:#1d4f84}.overview-kpi-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;display:grid}.overview-kpi-card{border-top:3px solid var(--border);min-width:0;padding:.9rem}.overview-kpi-card--success{border-top-color:#1f8a4c}.overview-kpi-card--warning{border-top-color:#b7791f}.overview-kpi-card--critical{border-top-color:#c53030}.overview-kpi-card--info{border-top-color:#2b6cb0}.overview-kpi-card span{color:var(--text);font-size:.78rem;font-weight:700;display:block}.overview-kpi-card strong{color:var(--text-h);margin:.35rem 0 .2rem;font-size:1.45rem;line-height:1.05;display:block}.overview-kpi-card p{color:var(--text);font-size:.78rem;line-height:1.35}.client-overview-layout{grid-template-columns:minmax(0,1.45fr) minmax(300px,.8fr);align-items:start;gap:1rem;display:grid}.client-overview-layout__main,.client-overview-layout__side{flex-direction:column;gap:1rem;min-width:0;display:flex}.client-overview-section{border-top:1px solid var(--border);padding-top:1rem}.client-overview-section__header{margin-bottom:.75rem}.client-overview-section__header h3{color:var(--text-h);margin:0;font-size:1rem;line-height:1.2}.client-overview-section__header p{color:var(--text);margin-top:.2rem;font-size:.8rem;line-height:1.35}.client-overview-section--radar{border-top:3px solid #2b6cb0}.planning-radar-list,.today-schedule,.recent-activity{flex-direction:column;gap:.65rem;display:flex}.planning-radar-item{border:1px solid var(--border);background:var(--bg);border-left-width:4px;border-radius:8px}.planning-radar-item--critical{border-left-color:#c53030}.planning-radar-item--warning{border-left-color:#b7791f}.planning-radar-item--info{border-left-color:#2b6cb0}.planning-radar-item--success{border-left-color:#1f8a4c}.planning-radar-item__content{padding:.75rem .85rem}.planning-radar-item__title-row,.today-schedule__title-row,.staff-provider__competence-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.planning-radar-item h4,.today-schedule h4{color:var(--text-h);margin:0;font-size:.92rem;line-height:1.25}.planning-radar-item p,.today-schedule p{color:var(--text);margin-top:.25rem;font-size:.82rem;line-height:1.4}.today-schedule__row{border-top:1px solid var(--border);grid-template-columns:7.25rem minmax(0,1fr);gap:.85rem;padding:.75rem 0;display:grid}.today-schedule__row:first-child{border-top:none;padding-top:0}.today-schedule__time{color:var(--text-h);font-size:.85rem;font-weight:700}.weekly-planning{grid-template-columns:repeat(7,minmax(0,1fr));gap:.4rem;display:grid}.weekly-planning__day{border:1px solid var(--border);background:var(--bg);text-align:center;border-radius:8px;min-width:0;padding:.55rem .4rem}.weekly-planning__day--warning{border-color:color-mix(in srgb, #b7791f 42%, var(--border));background:color-mix(in srgb, #b7791f 10%, var(--bg))}.weekly-planning__day span,.weekly-planning__day strong,.weekly-planning__day em{display:block}.weekly-planning__day span{color:var(--text);font-size:.72rem;font-weight:700}.weekly-planning__day strong{color:var(--text-h);margin-top:.12rem;font-size:.78rem;line-height:1.2}.weekly-planning__day em{color:#7a4b12;margin-top:.12rem;font-size:.68rem;font-style:normal;font-weight:700}.overview-table-wrap{border:1px solid var(--border);border-radius:8px;overflow-x:auto}.overview-table{border-collapse:collapse;width:100%;font-size:.84rem}.overview-table th{border-bottom:1px solid var(--border);color:var(--text);text-align:left;white-space:nowrap;padding:.55rem .65rem;font-weight:700}.overview-table td{border-bottom:1px solid var(--border);color:var(--text-h);vertical-align:middle;padding:.65rem}.overview-table tr:last-child td{border-bottom:none}.needs-preferences{flex-wrap:wrap;gap:.5rem;display:flex}.needs-preferences__chip{border:1px solid var(--border);background:var(--bg);min-height:1.85rem;color:var(--text-h);border-radius:999px;align-items:center;padding:.25rem .65rem;font-size:.8rem;line-height:1.25;display:inline-flex}.needs-preferences__chip--warning{border-color:color-mix(in srgb, #b7791f 45%, var(--border));background:color-mix(in srgb, #b7791f 10%, var(--bg))}.needs-preferences__chip--info{border-color:color-mix(in srgb, #2b6cb0 42%, var(--border));background:color-mix(in srgb, #2b6cb0 9%, var(--bg))}.staff-provider{flex-direction:column;gap:.85rem;display:flex}.staff-provider__facts{grid-template-columns:1fr;gap:.65rem;display:grid}.staff-provider__competence{border-top:1px solid var(--border);flex-direction:column;gap:.5rem;padding-top:.75rem;display:flex}.staff-provider__competence-row span{color:var(--text-h);font-size:.84rem;font-weight:600}.absence-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.absence-summary__status{flex-direction:column;gap:.25rem;display:flex}.overview-empty-state{border:1px dashed var(--border);color:var(--text);border-radius:8px;padding:.8rem;font-size:.86rem}.recent-activity__item{padding-left:1rem;position:relative}.recent-activity__item:before{content:"";background:var(--accent);border-radius:999px;width:.45rem;height:.45rem;position:absolute;top:.55rem;left:0}.recent-activity__item span{color:var(--text);font-size:.74rem;font-weight:700}.recent-activity__item p{color:var(--text-h);margin-top:.1rem;font-size:.84rem;line-height:1.35}.recent-activity__item small{color:var(--text);font-size:.74rem}.icon-btn{border:1px solid var(--border);background:var(--surface);width:2rem;height:2rem;color:var(--text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.icon-btn:hover{background:var(--accent-bg);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--accent)}.icon-btn--active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}@media (width<=1180px){.client-overview-header__details{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.client-overview-layout{grid-template-columns:1fr}}@media (width<=820px){.client-subtabs__content{padding:1rem}.client-overview-header__identity{flex-direction:column;align-items:flex-start}.client-overview-summary,.overview-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-planning{grid-template-columns:repeat(4,minmax(0,1fr))}.today-schedule__row{grid-template-columns:1fr;gap:.35rem}}@media (width<=560px){.client-overview-header__details,.client-overview-summary,.overview-kpi-grid,.absence-summary{grid-template-columns:1fr}.weekly-planning{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-radar-item__title-row,.today-schedule__title-row,.staff-provider__competence-row{flex-direction:column;align-items:flex-start;gap:.35rem}}.filter-panel-overlay{inset:0;top:calc(56px + env(safe-area-inset-top,0px));background:var(--overlay);z-index:170;animation:.15s ease-out modal-fade-in;position:fixed}.filter-panel{top:calc(56px + env(safe-area-inset-top,0px));width:min(360px,100vw);padding-bottom:env(safe-area-inset-bottom,0px);background:var(--surface);border-left:1px solid var(--border);box-shadow:var(--modal-shadow);z-index:180;flex-direction:column;animation:.25s ease-out filter-panel-slide-in;display:flex;position:fixed;bottom:0;right:0}@keyframes filter-panel-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.filter-panel__header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem;display:flex}.filter-panel__title{color:var(--text-h);margin:0;font-size:1.05rem}.filter-panel__body{flex:1;padding:1rem;overflow-y:auto}.filter-panel__footer{border-top:1px solid var(--border);flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem;display:flex}.filter-panel__field{max-width:none}.filter-panel__hint{color:var(--text);opacity:.75;margin:0;font-size:.8rem}@media (width<=639px){.filter-panel{width:100vw}.filter-panel__footer{flex-direction:column-reverse}.filter-panel__footer .btn{width:100%}}.btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:6px;min-height:44px;padding:.6rem 1.1rem;font-size:.9rem;transition:opacity .15s}@media (width>=768px){.btn{min-height:auto;padding:.5rem 1.1rem}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){opacity:.85}.btn-secondary{background:var(--surface);color:var(--text-h);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--accent-bg);color:var(--accent)}.btn-danger{background:var(--error);color:#fff}.btn-danger:hover:not(:disabled){opacity:.85}.create-form{flex-direction:column;gap:1.25rem;width:100%;display:flex}.form-field{flex-direction:column;gap:.4rem;width:100%;max-width:360px;display:flex}.form-field label{color:var(--text-h);font-size:.875rem;font-weight:600}.form-field input[type=text],.form-field input[type=password],.form-field input[type=date],.form-field textarea,.form-field select{background:var(--input-bg);border:1px solid var(--input-border);color:var(--text-h);box-sizing:border-box;border-radius:6px;padding:.6rem .75rem;font-size:1rem;transition:border-color .15s}.form-field textarea{resize:vertical;min-height:5.5rem}.form-field input[type=text]:focus,.form-field input[type=password]:focus,.form-field input[type=date]:focus,.form-field textarea:focus,.form-field select:focus{border-color:var(--accent);outline:none}.form-field__hint{opacity:.6;font-size:.8rem;font-weight:400}.form-section-title{color:var(--text-h);margin:0 0 .5rem;font-size:.875rem;font-weight:600}.checkbox-list{flex-direction:column;gap:.35rem;display:flex}.checkbox-list__item{align-items:center;gap:.5rem;font-weight:400;display:flex}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}@media (width<=639px){.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%}}.create-form__error{color:var(--error);margin:0;font-size:.875rem}.op-checkbox{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.op-na{color:var(--text);opacity:.35}.data-grid__th--expand{width:36px;padding:.75rem 0 .75rem .75rem}.data-grid__td--expand{vertical-align:middle;padding:.5rem 0 .5rem .75rem}.expand-toggle{cursor:pointer;width:24px;height:24px;color:var(--text);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;font-size:.8rem;transition:background .15s,color .15s;display:flex}.expand-toggle:hover{background:var(--accent-bg);color:var(--accent)}.data-grid__tr--expanded .data-grid__td,.data-grid__tr--expanded .data-grid__td--expand{background:var(--accent-bg)}.data-grid__expanded-td{border-bottom:1px solid var(--border);padding:0}.role-detail{background:var(--bg);border-top:1px solid var(--border);flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.privilege-empty{color:var(--text);font-size:.85rem}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.org-tree{border:1px solid var(--border);background:var(--surface);border-radius:10px;overflow:hidden}.org-tree--empty{background:0 0;border:none}.org-tree__list{margin:0;padding:0;list-style:none}.org-tree__item{border-bottom:1px solid var(--border)}.org-tree__item:last-child{border-bottom:none}.org-tree__row{padding:.65rem 1rem .65rem calc(1rem + var(--org-depth,0) * 1.5rem);justify-content:space-between;align-items:center;gap:.75rem;min-height:2.75rem;transition:background .15s;display:flex}.org-tree__row:hover{background:var(--accent-bg)}.org-tree__main{flex:1;align-items:center;gap:.65rem;min-width:0;display:flex}.org-tree__type-icon{background:var(--accent-bg);width:1.75rem;height:1.75rem;color:var(--accent);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.org-tree__type-icon svg{width:1.1rem;height:1.1rem}.org-tree__type-icon--municipality{color:var(--org-municipality);background:var(--org-municipality-bg)}.org-tree__type-icon--department{color:var(--org-department);background:var(--org-department-bg)}.org-tree__type-icon--unit{color:var(--org-unit);background:var(--org-unit-bg)}.org-tree__type-icon--team{color:var(--org-team);background:var(--org-team-bg)}.org-tree__name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.org-tree__type-label{color:var(--text);white-space:nowrap;font-size:.75rem}.org-tree__actions{opacity:0;flex-shrink:0;align-items:center;gap:.25rem;transition:opacity .15s;display:flex}.org-tree__row:hover .org-tree__actions,.org-tree__row:focus-within .org-tree__actions{opacity:1}@media (hover:none){.org-tree__actions{opacity:1}}@media (width<=639px){.org-tree__row{padding:.75rem;padding-left:calc(.75rem + var(--org-depth,0) * 1rem);flex-wrap:wrap}.org-tree__main{flex:calc(100% - 7rem)}.org-tree__type-label{display:none}.org-tree__action-btn{width:44px;height:44px}}.org-tree__action-btn{width:2rem;height:2rem;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:inline-flex}.org-tree__action-btn svg{width:1rem;height:1rem}.org-tree__action-btn:hover:not(:disabled){background:var(--surface);color:var(--accent)}.org-tree__action-btn--danger:hover:not(:disabled){color:var(--error);background:var(--error-bg)}.org-tree__action-btn:disabled{opacity:.4;cursor:not-allowed}.org-tree__empty{text-align:center;color:var(--text);margin:0;padding:2.5rem 1rem;font-size:.9rem}.org-unit-picker{width:100%;position:relative}.org-unit-picker--disabled{opacity:.6;pointer-events:none}.org-unit-picker__trigger{background:var(--input-bg);border:1px solid var(--input-border);border-radius:6px;align-items:stretch;min-height:44px;transition:border-color .15s;display:flex}.org-unit-picker--open .org-unit-picker__trigger,.org-unit-picker__trigger:focus-within{border-color:var(--accent)}.org-unit-picker__selected{cursor:pointer;outline:none;flex-wrap:wrap;flex:1;align-items:center;gap:.35rem;min-width:0;padding:.4rem .5rem;display:flex}.org-unit-picker__placeholder{color:var(--text);opacity:.55;font-size:.95rem}.org-unit-picker__chip{background:var(--accent-bg);max-width:100%;color:var(--accent);border:1px solid var(--accent-border);border-radius:99px;align-items:center;gap:.2rem;padding:.15rem .25rem .15rem .5rem;font-size:.8rem;display:inline-flex}.org-unit-picker__chip-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.org-unit-picker__chip-remove{width:1.25rem;height:1.25rem;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1rem;line-height:1;display:inline-flex}.org-unit-picker__chip-remove:hover{background:var(--surface)}.org-unit-picker__toggle{border:none;border-left:1px solid var(--input-border);width:2.5rem;color:var(--text);cursor:pointer;background:0 0;border-radius:0 6px 6px 0;flex-shrink:0;justify-content:center;align-items:center;font-size:.85rem;display:flex}.org-unit-picker__toggle:hover:not(:disabled){background:var(--accent-bg);color:var(--accent)}.org-unit-picker__dropdown{z-index:140;background:var(--surface);border:1px solid var(--border);box-shadow:var(--modal-shadow);flex-direction:column;display:flex;position:fixed;overflow:hidden}.org-unit-picker__dropdown--down,.org-unit-picker__dropdown--up{border-radius:8px}.org-unit-picker__search-wrap{border-bottom:1px solid var(--border);padding:.5rem}.org-unit-picker__search{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-h);box-sizing:border-box;border-radius:6px;padding:.55rem .75rem;font-size:.9rem}.org-unit-picker__search:focus{border-color:var(--accent);outline:none}.org-unit-picker__list{flex:1;min-height:180px;margin:0;padding:.35rem 0;list-style:none;overflow-y:auto}.org-unit-picker__option{padding-left:calc(.75rem + var(--org-picker-depth,0) * 1.25rem)}.org-unit-picker__option--selected{background:var(--accent-bg)}.org-unit-picker__option-label{cursor:pointer;align-items:center;gap:.5rem;min-height:40px;padding:.5rem .75rem .5rem 0;display:flex}.org-unit-picker__option-label:hover{color:var(--accent)}.org-unit-picker__checkbox{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.org-unit-picker__icon.org-tree__type-icon{flex-shrink:0;width:1.35rem;height:1.35rem}.org-unit-picker__icon.org-tree__type-icon svg{width:.9rem;height:.9rem}.org-unit-picker__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-h);font-size:.9rem;overflow:hidden}.org-unit-picker__empty{text-align:center;color:var(--text);padding:1.25rem 1rem;font-size:.875rem}@media (width<=767px){.org-unit-picker__search{font-size:16px}}.modal-backdrop{background:var(--overlay);z-index:200;justify-content:center;align-items:flex-end;padding:0;animation:.15s ease-out modal-fade-in;display:flex;position:fixed;inset:0}@media (width>=640px){.modal-backdrop{align-items:center;padding:1rem}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border:1px solid var(--border);width:100%;max-width:420px;max-height:90svh;padding:1.25rem;padding-bottom:max(1.25rem, env(safe-area-inset-bottom));box-shadow:var(--modal-shadow);box-sizing:border-box;border-radius:12px 12px 0 0;animation:.2s ease-out modal-slide-in;overflow-y:auto}@media (width>=640px){.modal{border-radius:12px;max-height:none;padding:1.5rem}}@keyframes modal-slide-in{0%{opacity:0;transform:translateY(.5rem)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal--confirm{max-width:400px}.modal--danger .modal__title{color:var(--error)}.modal__title{color:var(--text-h);margin:0 0 1rem;font-size:1.15rem}.modal__message{color:var(--text-h);margin:0;font-size:.95rem;line-height:1.5}.modal__message strong{color:var(--text-h)}.modal__error{color:var(--error);margin:1rem 0 0;font-size:.875rem}.modal__body{flex-direction:column;gap:1rem;display:flex}.modal__body .form-field{max-width:none}.modal__readonly{background:var(--bg);border:1px solid var(--border);color:var(--text-h);border-radius:6px;margin:0;padding:.6rem .75rem;font-size:1rem}.modal__hint{color:var(--text);margin:0;font-size:.875rem}.modal__actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-top:1.25rem;display:flex}@media (width<=639px){.modal__actions{flex-direction:column-reverse}.modal__actions .btn{width:100%}}.modal__body .form-actions{margin-top:.25rem}@media (width<=767px){.data-grid{background:0 0;border:none;overflow-x:visible}.data-grid__table,.data-grid__table tbody{display:block}.data-grid__table thead{display:none}.data-grid__empty{border:1px solid var(--border);background:var(--surface);border-radius:10px;padding:2rem 1rem}.data-grid__tr{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:.75rem;display:block;position:relative;overflow:hidden}.data-grid__tr:hover .data-grid__td{background:0 0}.data-grid__tr--expanded{border-radius:10px 10px 0 0;margin-bottom:0}.data-grid__tr:has(.data-grid__td--expand){padding-top:2.75rem}.data-grid__td{border-bottom:1px solid var(--border);text-align:right;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.65rem 1rem;display:flex}.data-grid__td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--text);text-align:left;flex-shrink:0;max-width:42%;padding-top:.1rem;font-size:.7rem;font-weight:600}.data-grid__td:last-child{border-bottom:none}.data-grid__td--expand{border:none;width:auto;padding:0;position:absolute;top:.35rem;right:.35rem}.data-grid__td--expand:before{display:none}.data-grid__expanded-row{margin-bottom:.75rem;display:block}.data-grid__expanded-td{border:1px solid var(--border);background:var(--surface);border-top:none;border-radius:0 0 10px 10px;display:block}.role-detail{padding:1rem}.expand-toggle{width:44px;height:44px}.auth-form input,.form-field input[type=text],.form-field input[type=password],.form-field input[type=date],.form-field textarea,.form-field select,.navbar__select{font-size:16px}}
