html{--thesis-accent: #227AD4;--thesis-text: #2B3B55;--thesis-text-secondary: #6D7B8A;--thesis-surface: #FFFFFF;--thesis-field: #F2F5F8;--thesis-border: #D4DDE5;--thesis-hairline: #E4E8ED;--thesis-chip: #ECF4FB;--thesis-badge: #E4E8ED;--thesis-positive: #0AB29E;--thesis-negative: #EF7171;--thesis-negative-light: #FEEFEF;--thesis-orange: #F8A934;--thesis-overlay: rgba(43,59,85,0.7);--lumo-primary-color: var(--thesis-accent);--lumo-primary-text-color: var(--thesis-accent);--lumo-primary-color-50pct: rgba(34,122,212,0.5);--lumo-primary-color-10pct: rgba(34,122,212,0.1);--lumo-body-text-color: var(--thesis-text);--lumo-secondary-text-color: var(--thesis-text-secondary);--lumo-error-color: var(--thesis-negative);--lumo-success-color: var(--thesis-positive);--lumo-contrast-10pct: var(--thesis-hairline)}body{background: var(--thesis-surface);color: var(--thesis-text)}.hairline{border-top: 1px solid var(--thesis-hairline);width: 100%;margin: var(--lumo-space-s) 0}.thesis-initial{display: none}.is-shim{opacity: 0.4;pointer-events: none}.list-row{min-height: 52px;padding: 0 var(--lumo-space-m);box-sizing: border-box;cursor: pointer;color: var(--thesis-text)}.list-row.indent-1{padding-left: calc(var(--lumo-space-m) + 32px)}.list-row-icon{width: 24px;height: 24px;color: var(--thesis-accent);flex: none}.list-row-text{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--lumo-font-size-m)}.list-row-chevron{width: 20px;height: 20px;color: var(--thesis-text-secondary);flex: none}span.row-badge{background: var(--thesis-badge);color: var(--thesis-text-secondary);border-radius: 12px;min-width: 24px;height: 24px;line-height: 24px;padding: 0 6px;text-align: center;font-size: var(--lumo-font-size-s);box-sizing: border-box;flex: none}.empty-state{color: var(--thesis-text-secondary)}.empty-state-icon{width: 56px;height: 56px;color: var(--thesis-text-secondary)}.empty-state-text{font-size: var(--lumo-font-size-l);text-align: center}.app-bar{height: 56px;min-height: 56px;padding: 0 var(--lumo-space-s);box-sizing: border-box;background: var(--thesis-accent);color: #FFFFFF;flex: none}.app-bar-title{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;font-size: var(--lumo-font-size-l);padding: 0 var(--lumo-space-s)}.app-bar-button{color: #FFFFFF;min-width: 40px;width: 40px;height: 40px;padding: 0}.app-bar-button vaadin-icon{width: 24px;height: 24px}a.app-bar-button{display: inline-flex;align-items: center;justify-content: center;text-decoration: none}.tab-bar{height: 60px;min-height: 60px;background: var(--thesis-surface);border-top: 1px solid var(--thesis-hairline);flex: none}.tab-item{flex: 1 1 0;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 2px;position: relative;cursor: pointer;color: var(--thesis-text-secondary);user-select: none}.tab-item.selected{color: var(--thesis-accent)}.tab-icon{width: 24px;height: 24px}.tab-label{font-size: 11px;line-height: 14px}.tab-counter{position: absolute;top: 6px;left: calc(50% + 4px);min-width: 16px;height: 16px;line-height: 16px;padding: 0 4px;border-radius: 8px;background: var(--thesis-negative);color: #FFFFFF;font-size: 10px;text-align: center;box-sizing: border-box}.user-row{min-height: 44px}.user-avatar{width: 36px;height: 36px;flex: none}.user-text{min-width: 0}.user-name{font-size: var(--lumo-font-size-m);color: var(--thesis-text)}.user-position{font-size: var(--lumo-font-size-s);color: var(--thesis-text-secondary)}.field-box{padding: var(--lumo-space-xs) 0}.field-label{font-size: var(--lumo-font-size-s);color: var(--thesis-text-secondary);padding-bottom: 4px}.field-value{background: var(--thesis-field);border: 1px solid var(--thesis-border);border-radius: 8px;min-height: 44px;padding: var(--lumo-space-s) var(--lumo-space-m);box-sizing: border-box}.field-value-text{white-space: pre-line;word-break: break-word;color: var(--thesis-text)}.field-icon{width: 20px;height: 20px;color: var(--thesis-text-secondary);flex: none}.field-list-item{display: flex;gap: var(--lumo-space-s);align-items: flex-start;padding: var(--lumo-space-xs) 0}.field-list-index{flex: none;width: 24px;height: 24px;line-height: 24px;border-radius: 12px;background: var(--thesis-chip);color: var(--thesis-accent);text-align: center;font-size: var(--lumo-font-size-s)}.field-list-text{color: var(--thesis-text)}.thesis-switch{width: 40px;height: 22px;border-radius: 11px;background: var(--thesis-border);position: relative}.thesis-switch.on{background: var(--thesis-accent)}.thesis-switch-knob{position: absolute;top: 2px;left: 2px;width: 18px;height: 18px;border-radius: 9px;background: #FFFFFF}.thesis-switch.on .thesis-switch-knob{left: 20px}.section-header{min-height: 44px;padding: 0 var(--lumo-space-m);cursor: pointer;border-bottom: 1px solid var(--thesis-hairline)}.section-heading{color: var(--thesis-accent);font-size: var(--lumo-font-size-m)}.section-chevron{width: 20px;height: 20px;color: var(--thesis-accent);flex: none}.section-body{padding: var(--lumo-space-s) var(--lumo-space-m);box-sizing: border-box}.kit-action-bar{background: var(--thesis-surface);padding: var(--lumo-space-s) var(--lumo-space-m);box-sizing: border-box;border-top: 1px solid var(--thesis-hairline);flex: none}.kit-action-bar .action-bar-buttons>vaadin-button{flex: 1 1 0;min-width: 0;height: 44px;border-radius: 8px;color: #FFFFFF;font-weight: 500}.action-positive{background: var(--thesis-positive)}.action-negative{background: var(--thesis-negative)}.kit-action-more{flex: none;width: 44px;min-width: 44px;height: 44px;border-radius: 8px;background: var(--thesis-chip);color: var(--thesis-accent);padding: 0}.kit-action-more vaadin-icon{width: 24px;height: 24px}vaadin-dialog.actions-popover::part(overlay),vaadin-dialog-overlay.actions-popover::part(overlay){border-radius: 12px;padding: 0;background: var(--thesis-surface)}vaadin-dialog.actions-popover::part(backdrop),vaadin-dialog-overlay.actions-popover::part(backdrop){background: var(--thesis-overlay)}.actions-popover-list{background: var(--thesis-surface);border-radius: 12px;min-width: 240px}.actions-popover-list vaadin-button{justify-content: flex-start;width: 100%;height: 48px;color: var(--thesis-text);border-bottom: 1px solid var(--thesis-hairline)}.actions-popover-list vaadin-button.actions-popover-cancel{color: var(--thesis-text-secondary);border-bottom: none}vaadin-app-layout.thesis-app-layout{height: 100vh}vaadin-app-layout.thesis-app-layout::part(navbar){display: none}.thesis-shell{display: flex;flex-direction: column;height: 100%;background: var(--thesis-surface)}.thesis-outlet{flex: 1 1 0;min-height: 0;display: flex;flex-direction: column}.thesis-outlet>*{flex: 1 1 auto;min-height: 0;height: 100%}.screen{height: 100%;background: var(--thesis-surface)}.profile-header{min-height: 88px;cursor: pointer}.profile-avatar{width: 72px;height: 72px;flex: none}.profile-name{font-size: var(--lumo-font-size-l);color: var(--thesis-text)}.profile-status{font-size: var(--lumo-font-size-s);color: var(--thesis-text-secondary)}.profile-logout .list-row-text,.profile-logout .list-row-icon{color: var(--thesis-negative)}.profile-sync{width: 40px;min-width: 40px;height: 40px;padding: 0;color: var(--thesis-accent);flex: none}.about-text{white-space: pre-line}.section-label{display: block;padding: var(--lumo-space-m) var(--lumo-space-m) var(--lumo-space-xs);color: var(--thesis-text-secondary);font-size: var(--lumo-font-size-s)}.thesis-shell.tablet{flex-direction: row}.thesis-master{flex: 0 0 380px;width: 380px;min-height: 0;display: flex;flex-direction: column;background: var(--thesis-surface);border-right: 1px solid var(--thesis-hairline)}.thesis-master-content{flex: 1 1 0;min-height: 0;overflow: auto}.thesis-detail{flex: 1 1 0;min-width: 0;min-height: 0;display: flex;flex-direction: column}.thesis-detail>.thesis-outlet{flex: 1 1 0;min-height: 0}.jmix-login-main-layout.thesis-login{background: linear-gradient(180deg,#154287 0%,#1A60CC 60%,#DBE8FD 100%)}.thesis-login jmix-login-form::part(form){border-radius: 16px;box-shadow: 0 8px 24px rgba(21,66,135,0.35)}.card-row{padding: var(--lumo-space-s) var(--lumo-space-m);border-bottom: 1px solid var(--thesis-hairline);cursor: pointer;background: var(--thesis-surface);box-sizing: border-box}.card-row-header{min-height: 32px}.card-state{min-width: 0;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: var(--thesis-accent);font-size: var(--lumo-font-size-s)}.card-state.overdue{color: var(--thesis-negative)}.card-due-chip{background: var(--thesis-field);color: var(--thesis-text-secondary);border-radius: 12px;padding: 2px 10px;font-size: var(--lumo-font-size-s);flex: none}.card-due-chip.overdue{background: var(--thesis-negative-light);color: var(--thesis-negative)}.card-dots{width: 32px;min-width: 32px;height: 32px;padding: 0;color: var(--thesis-text-secondary);flex: none}.card-row-title{font-size: var(--lumo-font-size-m);color: var(--thesis-text);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;padding: 4px 0}.card-row-info{font-size: var(--lumo-font-size-s);color: var(--thesis-text);display: -webkit-box;-webkit-line-clamp: 2;line-clamp: 2;-webkit-box-orient: vertical;overflow: hidden}.card-row-footer{min-height: 32px;color: var(--thesis-text-secondary)}.card-footer-icon{width: 20px;height: 20px;flex: none}.card-footer-count{font-size: var(--lumo-font-size-s);min-width: 12px}.card-star{width: 22px;height: 22px;color: var(--thesis-text-secondary);flex: none}.card-star.on{color: var(--thesis-orange)}.list-search{padding: var(--lumo-space-s) var(--lumo-space-m);box-sizing: border-box;--vaadin-input-field-background: var(--thesis-field);--vaadin-input-field-border-radius: 20px}.card-list{background: var(--thesis-surface)}.card-screen{min-height: 0;background: var(--thesis-surface)}.card-screen>vaadin-scroller{flex: 1 1 0;min-height: 0}.card-head{padding: var(--lumo-space-s) var(--lumo-space-m);box-sizing: border-box}.card-head-title{font-size: var(--lumo-font-size-l);color: var(--thesis-text);padding-top: var(--lumo-space-s)}.role-group{background: var(--thesis-surface);border: 1px solid var(--thesis-hairline);border-radius: 12px;margin: var(--lumo-space-s) 0;overflow: hidden}.role-name{display: block;background: var(--thesis-field);color: var(--thesis-text);padding: var(--lumo-space-s) var(--lumo-space-m);font-size: var(--lumo-font-size-m)}.stage-chip{display: block;margin: var(--lumo-space-s) var(--lumo-space-m) 0;padding: 4px 12px;border-radius: 8px;background: var(--thesis-chip);color: var(--thesis-accent);font-size: var(--lumo-font-size-s)}.role-group .user-row{padding: var(--lumo-space-xs) var(--lumo-space-m);box-sizing: border-box}.journal-item{padding: var(--lumo-space-s) var(--lumo-space-m);border-bottom: 1px solid var(--thesis-hairline)}.journal-date{display: inline-block;background: var(--thesis-chip);color: var(--thesis-accent);border-radius: 8px;padding: 2px 10px;font-size: var(--lumo-font-size-s);margin-bottom: var(--lumo-space-xs)}.journal-line{display: flex;gap: var(--lumo-space-m);padding: 2px 0}.journal-label{flex: 0 0 35%;color: var(--thesis-text-secondary)}.journal-value-accent{color: var(--thesis-accent)}.journal-value{color: var(--thesis-text)}.journal-comment{display: block;color: var(--thesis-text-secondary);font-size: var(--lumo-font-size-s);padding-top: var(--lumo-space-xs)}.history-comment{white-space: pre-line}.process-form-field{--vaadin-input-field-background: var(--thesis-field);--vaadin-input-field-border-radius: 8px}.attachment-row{align-items: flex-start;padding: var(--lumo-space-s) var(--lumo-space-m);border-bottom: 1px solid var(--thesis-hairline);cursor: pointer;background: var(--thesis-surface);box-sizing: border-box}.attachment-row.indent-1{padding-left: calc(var(--lumo-space-m) + 32px);background: var(--thesis-field)}.attachment-type-icon{width: 36px;height: 44px;flex: none}.attachment-title{font-size: var(--lumo-font-size-m);color: var(--thesis-text);word-break: break-word}.attachment-info{font-size: var(--lumo-font-size-s);color: var(--thesis-text-secondary);padding-top: 2px}.attachment-footer{min-height: 28px;padding-top: var(--lumo-space-xs)}.attachment-footer-icon{width: 16px;height: 16px;color: var(--thesis-text-secondary);flex: none}.attachment-version{font-size: var(--lumo-font-size-s);color: var(--thesis-text-secondary)}.attachment-bookmark{width: 20px;height: 20px;color: var(--thesis-text-secondary);flex: none}.attachment-bookmark.on{color: var(--thesis-accent)}.attachment-chevron{width: 32px;min-width: 32px;height: 32px;padding: 0;color: var(--thesis-text-secondary);flex: none}.attachment-screen{min-height: 0;background: var(--thesis-surface)}.attachment-body{flex: 1 1 0;min-height: 0;box-sizing: border-box}.attachment-image-box{flex: 1 1 0;min-height: 0;width: 100%;display: flex;align-items: center;justify-content: center;overflow: auto;background: var(--thesis-field);box-sizing: border-box}.attachment-image{max-width: 100%;max-height: 100%;object-fit: contain}.pdf-pages{display: block;flex: 1 1 0;min-height: 0;width: 100%;position: relative;overflow-y: auto;background: var(--thesis-field);box-sizing: border-box}.pdf-pages-canvases{display: flex;flex-direction: column;gap: var(--lumo-space-s);padding: var(--lumo-space-s);box-sizing: border-box}.pdf-pages-canvas{display: block;background: var(--thesis-surface);box-shadow: 0 1px 4px rgba(43,59,85,0.2)}.pdf-pages-counter{position: sticky;bottom: var(--lumo-space-s);margin: 0 auto;width: fit-content;background: var(--thesis-overlay);color: #FFFFFF;border-radius: 12px;padding: 2px 12px;font-size: var(--lumo-font-size-s)}.attachment-download-box{flex: 1 1 0;min-height: 0;width: 100%;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: var(--lumo-space-s);padding: var(--lumo-space-l);box-sizing: border-box;text-align: center}.attachment-download-icon{width: 36px;height: 44px;flex: none}.attachment-download-name{font-size: var(--lumo-font-size-m);color: var(--thesis-text);word-break: break-word}.attachment-download-size{font-size: var(--lumo-font-size-s);color: var(--thesis-text-secondary)}.attachment-too-large{font-size: var(--lumo-font-size-s);color: var(--thesis-negative)}a.attachment-download-button{margin-top: var(--lumo-space-s);background: var(--thesis-accent);color: #FFFFFF;border-radius: 8px;padding: var(--lumo-space-s) var(--lumo-space-xl);font-size: var(--lumo-font-size-m);text-decoration: none}.attachment-details{min-width: 260px}.attachment-details .field-box{padding: var(--lumo-space-xs) 0}