html{--kita-brand:#73BF4A;--kita-brand-dark:#004006;--kita-brand-hover:#075A10;--kita-brand-soft:#EEF7E8;--kita-surface:#FFFFFF;--kita-background:#F4F4F4;--kita-text:#2B2B2B;--kita-text-secondary:#4C4F56;--kita-border:#D9E2D5;--lumo-primary-color:var(--kita-brand-dark);--lumo-primary-text-color:var(--kita-brand-dark);--lumo-primary-color-10pct:var(--kita-brand-soft);--lumo-primary-color-50pct:#73bf4a80;--lumo-base-color:var(--kita-surface);--lumo-body-text-color:var(--kita-text);--lumo-secondary-text-color:var(--kita-text-secondary);--lumo-header-text-color:var(--kita-brand-dark);--lumo-font-family:'Open Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--lumo-border-radius-m:12px;--lumo-size-m:44px;--lumo-success-color:var(--kita-brand-dark);--lumo-error-color:#B42318;--lumo-error-text-color:#B42318;--lumo-error-color-10pct:#FEECEB;font-family:var(--lumo-font-family);color:var(--kita-text);background:var(--kita-background);color-scheme:light}*{box-sizing:border-box}body{margin:0;background:var(--kita-background)}h1,h2,h3{color:var(--kita-brand-dark);letter-spacing:-.025em}h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.2;margin:.35em 0}h2{font-size:1.35rem}h3{font-size:1.12rem;margin:0 0 1rem}p{line-height:1.65;color:var(--kita-text-secondary);overflow-wrap:anywhere}a{color:var(--kita-brand-dark)}.page{max-width:1200px;margin:0 auto;padding:32px;gap:20px;align-items:stretch;min-height:100%}.card{padding:24px;background:var(--kita-surface);border:1px solid var(--kita-border);border-radius:12px;box-shadow:0 3px 15px #00400605;display:flex;flex-direction:column;gap:12px;min-width:0}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;width:100%}.audit-page{min-width:0}.audit-filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.audit-filters vaadin-combo-box{flex:1 1 240px;width:auto;min-width:0}.audit-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.audit-grid{min-width:0}.audit-reason{white-space:pre-wrap;overflow-wrap:anywhere}.app-header{padding:8px 20px;background:white;border-bottom:1px solid var(--kita-border);gap:12px;min-width:0}.app-title{margin:0;min-width:0;white-space:nowrap}.sidebar{height:100%;padding:20px 16px;color:var(--kita-text-secondary);font-size:.85rem;gap:24px}vaadin-side-nav::part(label){font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--kita-text-secondary)}.administration-nav{border-top:1px solid var(--kita-border);padding-top:16px}.header-notifications{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;flex-shrink:0;border-radius:8px;text-decoration:none}.header-notifications:hover,.header-notifications[highlight]{background:var(--kita-brand-soft)}.notification-count{position:absolute;top:0;right:0;min-width:18px;padding:1px 4px;border-radius:12px;background:var(--kita-brand-dark);color:var(--kita-surface);font-size:.7rem;line-height:1.4;text-align:center}.profile-menu{flex-shrink:0}.profile-label{display:flex;align-items:center;gap:8px;min-width:0}.profile-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-chevron{width:14px;height:14px}@media(max-width:600px){.app-header{padding:8px;gap:6px}.app-title{font-size:1.1rem}.profile-name{max-width:72px}}@media(max-width:380px){.profile-name{display:none}}vaadin-side-nav{width:100%}vaadin-side-nav-item[current]{background:var(--kita-brand-soft);border-left:3px solid var(--kita-brand-dark);border-radius:6px}vaadin-button{min-height:44px;cursor:pointer;border:1px solid var(--kita-border);background:white;color:var(--kita-brand-dark);font-weight:600}vaadin-button[theme~='primary']{background:var(--kita-brand-dark);color:white;border-color:var(--kita-brand-dark)}vaadin-button[theme~='primary']:hover{background:var(--kita-brand-hover)}vaadin-button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--kita-brand-dark);outline-offset:3px}vaadin-text-field,vaadin-email-field,vaadin-password-field,vaadin-text-area,vaadin-date-picker,vaadin-combo-box{width:100%;min-width:0}.badge{align-self:flex-start;background:var(--kita-brand-soft);color:var(--kita-brand-dark);padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:600}.warning{background:#FFF4D6;color:#8A5700;padding:16px;border-radius:12px}.error{background:#FEECEB;color:#B42318;padding:16px;border-radius:12px}.login-page{min-height:100vh;justify-content:center;align-items:center;padding:24px;background:linear-gradient(130deg,var(--kita-brand-soft),var(--kita-background) 65%)}.login-panel{max-width:540px;width:100%;padding:40px;background:white;border-radius:12px;border:1px solid var(--kita-border);box-shadow:0 10px 50px #0040060a;border-top:5px solid var(--kita-brand)}vaadin-login-form{max-width:100%}vaadin-login-form-wrapper{padding:0}vaadin-dialog::part(overlay){max-width:min(640px,calc(100vw - 24px))}.dialog-fields{max-width:100%;gap:16px}.plaintext{white-space:pre-wrap}.attachments{display:flex;flex-direction:column;gap:12px;width:100%;min-width:0}.timeline{display:flex;flex-direction:column;gap:16px}vaadin-side-nav-item::part(link){min-height:44px}#connection-status{position:fixed;inset:0 0 auto;z-index:10000;padding:16px;background:#FFF4D6;color:#8A5700;font-weight:600}.messages-page{gap: 12px}.message-actions{display: flex}.conversation-list{max-height: 52vh;overflow-y: auto}.conversation-heading h2{margin: 0 0 8px}.conversation-heading p{margin: 4px 0;font-size: .875rem;line-height: 1.45}.messages-workspace{display: grid;grid-template-columns: minmax(250px,320px) minmax(0,1fr);gap: 20px;width: 100%;align-items: start}.messages-inbox,.messages-conversation,.message-composer{min-width: 0;display: flex;flex-direction: column;gap: 12px}.messages-inbox{padding: 16px;background: var(--kita-surface);border: 1px solid var(--kita-border);border-radius: 12px}.conversation-summary{display: flex;flex-direction: column;gap: 6px;width: 100%}vaadin-button.conversation-item{display: block;width: 100%;height: auto;margin: 0 0 8px;padding: 12px;text-align: left;font-weight: 400}vaadin-button.conversation-item::part(label){display: block;width: 100%;white-space: normal}vaadin-button.conversation-selected{background: var(--kita-brand-soft);border: 2px solid var(--kita-brand-dark)}.conversation-title{font-weight: 700}.conversation-preview{display: block;color: var(--kita-text-secondary);font-size: .85rem;overflow-wrap: anywhere;max-height: 2.8em;overflow: hidden;line-height: 1.4}.conversation-navigation{display: flex;flex-wrap: wrap;gap: 8px}.message-thread{display: flex;flex-direction: column;gap: 12px;max-height: 36vh;overflow-y: auto;padding: 4px}.message-bubble{max-width: 92%;min-width: 0;padding: 12px 16px;border: 1px solid var(--kita-border);border-radius: 12px;background: var(--kita-surface);align-self: flex-start}.message-own{align-self: flex-end;background: var(--kita-brand-soft)}.message-bubble p{margin: 8px 0}.message-metadata{display: flex;flex-wrap: wrap;gap: 8px;justify-content: space-between;font-size: .8rem;color: var(--kita-text-secondary)}.message-attachments{display: flex;flex-direction: column;gap: 8px}.message-composer{padding: 16px;background: var(--kita-surface);border: 1px solid var(--kita-border);border-radius: 12px}.message-composer p{margin: 0;font-size: .85rem}.accounts-page{gap: 16px}.accounts-page>p{margin: 0}.account-filter-fields{display: flex;flex-direction: column;gap: 12px;padding-top: 12px}.accounts-sidebar vaadin-details{width: 100%;margin: 0}.account-toolbar{display: flex;flex-wrap: wrap;gap: 8px;align-items: center}.accounts-workspace{display: grid;grid-template-columns: minmax(250px,310px) minmax(0,1fr);gap: 24px;width: 100%;align-items: start}.accounts-sidebar{display: flex;flex-direction: column;gap: 12px;padding: 16px;border: 1px solid var(--kita-border);border-radius: 12px;background: var(--kita-surface);min-width: 0}.accounts-sidebar h2{margin: 0}.account-list{max-height: 54vh;overflow-y: auto}.account-list>p{margin: 4px 0 12px;font-size: .85rem}vaadin-button.account-list-item{display: block;width: 100%;height: auto;min-height: 80px;margin: 0 0 8px;padding: 12px;text-align: left;font-weight: 400}vaadin-button.account-list-item::part(label){display: block;width: 100%;white-space: normal}vaadin-button.account-list-selected{background: var(--kita-brand-soft);border: 2px solid var(--kita-brand-dark)}.account-list-summary{display: flex;flex-direction: column;gap: 6px;width: 100%}.account-list-name{font-weight: 700}.account-list-secondary{font-size: .8rem;color: var(--kita-text-secondary);overflow-wrap: anywhere}.account-details,.account-assignments{display: flex;flex-direction: column;gap: 16px;min-width: 0}.account-details h2{margin: 0}.account-details .card>p{margin: 0}.account-assignments .card>vaadin-button{align-self: flex-start}.account-assignment-row{display: flex;flex-wrap: wrap;align-items: center;gap: 10px;padding: 16px 0;border-top: 1px solid var(--kita-border)}.account-assignment-name{font-weight: 600;flex: 1 1 160px;overflow-wrap: anywhere}.account-assignment-row .badge{align-self: auto}.account-assignment-period{flex: 1 1 100%;color: var(--kita-text-secondary);font-size: .85rem}@media (max-width: 850px){.accounts-workspace{grid-template-columns: minmax(0,1fr)}.account-list{max-height: 38vh}}@media (max-width: 800px){.messages-workspace{grid-template-columns: minmax(0,1fr)}.messages-inbox{max-height: 44vh;overflow-y: auto}.message-thread{max-height: 45vh}}.calendar-navigation{display: flex;flex-wrap: wrap;gap: 8px}.month-calendar{display: grid;grid-template-columns: repeat(7,minmax(0,1fr));gap: 6px;width: 100%}.calendar-weekday{padding: 8px 0;text-align: center;font-weight: 600;color: var(--kita-text-secondary)}vaadin-button.calendar-day{width: 100%;min-width: 0;height: auto;min-height: 110px;margin: 0;padding: 10px;border-radius: 8px;text-align: left;align-items: flex-start;font-weight: 400}vaadin-button.calendar-day::part(label){width: 100%;white-space: normal}vaadin-button.calendar-day:hover{background: var(--kita-brand-soft)}vaadin-button.calendar-day-selected{background: var(--kita-brand-soft);border: 2px solid var(--kita-brand-dark)}vaadin-button.calendar-day-outside{background: var(--kita-background);color: var(--kita-text-secondary)}.calendar-day-heading{display: flex;justify-content: space-between;align-items: center;gap: 2px}.calendar-day-number{font-weight: 700}.calendar-day-today .calendar-day-number{border-bottom: 3px solid var(--kita-brand)}.calendar-day-count{font-size: .75rem;font-weight: 700;color: var(--kita-brand-dark);background: var(--kita-brand-soft);padding: 2px 5px;border-radius: 12px}.calendar-event-preview{display: block;margin-top: 6px;font-size: .75rem;line-height: 1.4;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.calendar-event-cancelled{text-decoration: line-through;color: var(--kita-text-secondary)}.calendar-day-details{display: flex;flex-direction: column;gap: 16px;width: 100%}@media (max-width: 600px){.month-calendar{gap: 3px}vaadin-button.calendar-day{min-height: 68px;padding: 5px 3px}.calendar-event-preview{display: none}.calendar-day-number{font-size: .85rem}.calendar-day-count{padding: 1px 3px;font-size: .65rem}}@media(max-width:600px){.page{padding:20px 14px;gap:16px}.card{padding:20px}.login-panel{padding:24px}.app-header{padding:8px}.app-header h2{font-size:1rem}.card-grid{grid-template-columns:1fr}}