:root{--color-primary: #1976d2;--color-primary-dark: #1565c0;--color-primary-soft: rgba(25, 118, 210, .08);--color-primary-soft-hover: rgba(25, 118, 210, .12);--color-primary-outline: rgba(25, 118, 210, .5);--color-secondary: #dc004e;--color-text: rgba(0, 0, 0, .87);--color-text-secondary: rgba(0, 0, 0, .6);--color-text-muted: rgba(0, 0, 0, .45);--color-background: #fff;--color-border: rgba(0, 0, 0, .12);--color-border-strong: rgba(0, 0, 0, .3);--color-divider: rgba(0, 0, 0, .12);--color-error: #d32f2f;--color-error-dark: #b71c1c;--color-error-soft: rgba(211, 47, 47, .1);--color-error-soft-strong: rgba(211, 47, 47, .12);--color-error-border: rgba(211, 47, 47, .3);--color-success: #2e7d32;--color-success-soft: rgba(46, 125, 50, .1);--color-success-soft-strong: rgba(46, 125, 50, .12);--color-success-border: rgba(46, 125, 50, .3);--color-warning: #ed6c02;--color-warning-soft: rgba(237, 108, 2, .1);--color-warning-soft-strong: rgba(237, 108, 2, .12);--color-warning-border: rgba(237, 108, 2, .3);--color-info: #0288d1;--color-info-soft: rgba(2, 136, 209, .1);--color-info-soft-strong: rgba(2, 136, 209, .12);--color-info-border: rgba(2, 136, 209, .3);--color-danger-row-bg: rgba(255, 0, 0, .06);--color-hover-bg: rgba(0, 0, 0, .04);--color-focus-ring: var(--color-primary);--color-active-bg: rgba(0, 0, 0, .08);--color-backdrop: rgba(0, 0, 0, .5);--color-on-primary: #ffffff;--color-on-dark: #ffffff;--color-star: #f59e0b;--color-star-hover: #d97706;--color-health-ok-bg: #e6f7ec;--color-health-ok-text: #1b5e20;--color-health-ok-border: #a5d6a7;--color-health-fail-bg: #ffebee;--color-health-fail-text: #b71c1c;--color-health-fail-border: #ef9a9a;--color-surface: #ffffff;--color-surface-2: #f8f9fa;--color-surface-3: #f1f3f5;--color-surface-alt: #fafafa;--color-bg-secondary: #f5f5f5;--spacing-xs: clamp(3px, .25vw, 5px);--spacing-sm: clamp(6px, .55vw, 10px);--spacing-md: clamp(12px, 1.05vw, 18px);--spacing-lg: clamp(18px, 1.6vw, 28px);--spacing-xl: clamp(24px, 2.2vw, 40px);--text-xs: clamp(10px, .72vw, 12px);--text-sm: clamp(11px, .82vw, 13px);--text-base: clamp(13px, .95vw, 15px);--text-md: clamp(15px, 1.05vw, 17px);--text-lg: clamp(16px, 1.2vw, 19px);--text-xl: clamp(20px, 1.45vw, 24px);--text-2xl: clamp(24px, 1.85vw, 32px);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 4px rgba(0, 0, 0, .08);--shadow-md: 0 2px 8px rgba(0, 0, 0, .12);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .15);--shadow-app-bar: 0 2px 4px -1px rgba(0, 0, 0, .2), 0 4px 5px 0 rgba(0, 0, 0, .14), 0 1px 10px 0 rgba(0, 0, 0, .12);--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 400;--z-modal: 500;--z-tooltip: 600;--sidebar-width: clamp(200px, 14vw, 260px);--sidebar-bg: #1a2332;--sidebar-text: rgba(255, 255, 255, .85);--sidebar-text-muted: rgba(255, 255, 255, .5);--sidebar-active-bg: rgba(255, 255, 255, .12);--sidebar-hover-bg: rgba(255, 255, 255, .07);--sidebar-border: rgba(255, 255, 255, .08);--sidebar-outline: rgba(255, 255, 255, .5);--sidebar-surface-soft: rgba(255, 255, 255, .06);--sidebar-outline-strong: rgba(255, 255, 255, .25);--sidebar-outline-stronger: rgba(255, 255, 255, .4);--sidebar-avatar-bg: rgba(255, 255, 255, .2);--sidebar-text-soft: rgba(255, 255, 255, .65);--sidebar-text-soft-2: rgba(255, 255, 255, .7);--table-row-height-compact: 32px;--table-row-height-default: 40px;--table-cell-px-compact: 8px;--table-cell-px-default: 12px;--interactive-opacity-hover: .8;--interactive-opacity-active: .9;--interactive-opacity-disabled: .5;--interactive-cursor-pointer: pointer;--interactive-cursor-default: default;--interactive-transition: background-color .15s ease, border-color .15s ease, color .15s ease;--interactive-transform-active: scale(.98);--color-edited-bg: rgba(255, 193, 7, .1);--color-edited-bg-hover: rgba(255, 193, 7, .15);--color-edited-border: #ffc107;--color-edited-bg-solid: #fff3cd;--color-print-border: #000;--color-print-border-soft: #333;--color-print-border-dashed: #999;--color-print-border-light: #ddd;--color-print-header-bg: #eee}*,*:before,*:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:var(--text-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background)}h1,h2,h3,h4,h5,h6{margin:0 0 var(--spacing-sm) 0;font-weight:var(--font-weight-medium);line-height:var(--line-height-tight)}h1{font-size:var(--text-2xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}h5{font-size:var(--text-base)}h6{font-size:var(--text-sm)}p{margin:0 0 var(--spacing-sm) 0}p:last-child{margin-bottom:0}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;font-size:inherit;cursor:pointer}button:disabled{cursor:default}input,select,textarea{font-family:inherit;font-size:inherit}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-secondary);opacity:.7}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-error{color:var(--color-error)}.text-success{color:var(--color-success)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:20px}.card--elevation-2{box-shadow:var(--shadow-md)}.card--elevation-3{box-shadow:var(--shadow-lg)}.alert{padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin:0 0 var(--spacing-md) 0;display:flex;align-items:flex-start;gap:var(--spacing-sm)}.alert:last-child{margin-bottom:0}.alert--error{background-color:var(--color-error-soft);color:var(--color-error);border:1px solid var(--color-error-border)}.alert--success{background-color:var(--color-success-soft);color:var(--color-success);border:1px solid var(--color-success-border)}.alert--info{background-color:var(--color-info-soft);color:var(--color-info);border:1px solid var(--color-info-border)}.alert--warning{background-color:var(--color-warning-soft);color:var(--color-warning);border:1px solid var(--color-warning-border)}.alert__message{flex:1}.alert__close{background:none;border:none;padding:0;cursor:pointer;opacity:.7;line-height:1}.alert__close:hover{opacity:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-xs);min-height:36px;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--text-base);font-weight:var(--font-weight-medium);border-radius:var(--radius-md);border:1px solid transparent;transition:var(--interactive-transition);text-decoration:none;white-space:nowrap}.btn:disabled{opacity:var(--interactive-opacity-disabled);cursor:default}.btn--primary{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.btn--primary:hover:not(:disabled){background-color:var(--color-primary-dark);border-color:var(--color-primary-dark)}.btn--primary:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn--outlined{background-color:transparent;color:var(--color-primary);border-color:var(--color-primary-outline)}.btn--outlined:hover:not(:disabled){background-color:var(--color-primary-soft);border-color:var(--color-primary)}.btn--outlined:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn--text{background-color:transparent;color:var(--color-primary);border-color:transparent}.btn--text:hover:not(:disabled){background-color:var(--color-primary-soft)}.btn--text:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn--inherit{background-color:transparent;color:inherit;border-color:transparent}.btn--inherit:hover:not(:disabled){opacity:var(--interactive-opacity-hover)}.btn--inherit:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn--full-width{width:100%}.btn--danger{background-color:var(--color-error);color:var(--color-on-primary);border-color:var(--color-error)}.btn--danger:hover:not(:disabled){opacity:var(--interactive-opacity-hover);background-color:var(--color-error-dark);border-color:var(--color-error-dark)}.btn--danger:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:none;border-radius:50%;background:transparent;color:inherit;transition:var(--interactive-transition)}.icon-btn:hover:not(:disabled){background-color:var(--color-hover-bg);opacity:var(--interactive-opacity-hover)}.icon-btn svg{width:24px;height:24px}.form-label{display:block;margin-bottom:var(--spacing-xs);font-size:var(--text-sm);color:var(--color-text-secondary)}.form-input,.form-select,.form-textarea{width:100%;min-height:36px;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--text-base);color:var(--color-text);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .15s}.form-input:hover,.form-select:hover{border-color:var(--color-border-strong)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);border-width:2px;padding:calc(var(--spacing-sm) - 1px) calc(var(--spacing-md) - 1px)}.form-input::placeholder{color:var(--color-text-secondary)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{opacity:var(--interactive-opacity-disabled);cursor:not-allowed}.form-textarea{min-height:80px;resize:vertical}.form-select{cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.form-input--error,.form-select--error,.form-textarea--error{border-color:var(--color-error)}.form-input:focus.form-input--error,.form-select:focus.form-select--error{border-color:var(--color-error)}.form__error-message{display:block;font-size:var(--text-xs);color:var(--color-error);margin-top:var(--spacing-xs)}.form-input[aria-invalid=true],.form-select[aria-invalid=true]{border-color:var(--color-error)}fieldset{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-md);margin:0 0 var(--spacing-md) 0}fieldset:last-child{margin-bottom:0}legend{padding:0 var(--spacing-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.form-checkbox-wrap{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.form-checkbox{width:18px;height:18px;margin:0;cursor:pointer}.form-checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none}.table-wrap{width:100%;overflow-x:auto}.ui-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.ui-table th,.ui-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-divider)}.ui-table th{font-weight:var(--font-weight-medium);background-color:var(--color-hover-bg)}.ui-table tbody tr:hover{background-color:var(--color-hover-bg)}.ui-table .cell--numeric{text-align:right}.ui-table .cell--center{text-align:center}.chip{display:inline-flex;align-items:center;padding:2px var(--spacing-sm);font-size:var(--text-sm);font-weight:var(--font-weight-medium);border-radius:var(--radius-pill);border:1px solid transparent;line-height:1.6}.chip--outlined{background-color:transparent;border-color:currentColor;opacity:.85}.chip--default{background-color:var(--color-hover-bg);color:var(--color-text)}.chip--success{background-color:var(--color-success-soft-strong);color:var(--color-success)}.chip--error{background-color:var(--color-error-soft-strong);color:var(--color-error)}.chip--warning{background-color:var(--color-warning-soft-strong);color:var(--color-warning)}.chip--info{background-color:var(--color-info-soft-strong);color:var(--color-info)}.chip--primary{background-color:var(--color-primary-soft-hover);color:var(--color-primary)}.spinner{width:24px;height:24px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spinner-rotate .8s linear infinite}.spinner--small{width:20px;height:20px}@keyframes spinner-rotate{to{transform:rotate(360deg)}}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:var(--color-backdrop);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--spacing-md)}.dialog-paper{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:90vw;max-height:90vh;width:100%;display:flex;flex-direction:column}.dialog-paper--wide{max-width:90vw;width:100%}.dialog-paper--narrow{max-width:min(400px,95vw);width:100%}.dialog__title{margin:0;padding:var(--spacing-lg);font-size:var(--text-xl);font-weight:var(--font-weight-medium);border-bottom:1px solid var(--color-divider)}.dialog__content{padding:var(--spacing-lg);overflow-y:auto;flex:1}.dialog__content p{margin-bottom:var(--spacing-md)}.dialog__actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-divider)}.updates-fab{position:fixed;left:var(--spacing-sm);bottom:var(--spacing-sm);z-index:1100;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:var(--spacing-sm) var(--spacing-md)}.updates-fab--right{left:auto;right:var(--spacing-sm)}.updates-dialog{width:min(720px,calc(100vw - 32px))}.updates-list{display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:60vh;overflow-y:auto}.updates-item{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-sm);background-color:var(--color-surface)}.updates-item__meta{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:var(--text-xs);opacity:.75}.updates-item__title{margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-semibold)}.updates-item__description{white-space:pre-wrap;line-height:1.45}.report-dialog{width:min(640px,calc(100vw - 32px))}.form-textarea{width:100%;min-height:140px;resize:vertical}@media (max-width: 768px){.updates-fab{right:var(--spacing-md);bottom:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm)}.updates-fab--right{left:auto;right:var(--spacing-md)}}.menu-backdrop--transparent{background:transparent}.menu-paper{position:absolute;background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:160px;padding:var(--spacing-xs);z-index:var(--z-modal)}.menu-paper--positioned{position:fixed;top:var(--menu-top, 0);left:var(--menu-left, 0)}.menu-item{display:block;width:100%;padding:var(--spacing-sm) var(--spacing-md);text-align:left;border:none;background:none;font-size:var(--text-base);color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);transition:background-color .2s}.menu-item:hover{background-color:var(--color-hover-bg)}.tabs{width:100%}.tab-list{display:flex;border-bottom:1px solid var(--color-divider);gap:0}.tab-list__tab{padding:var(--spacing-md) var(--spacing-lg);border:none;background:none;font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);cursor:pointer;position:relative;margin-bottom:-1px;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}.tab-list__tab:hover{color:var(--color-primary)}.tab-list__tab[aria-selected=true]{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-panel{padding:var(--spacing-md) 0}.tab-panel[hidden]{display:none}.grid{display:flex;flex-wrap:wrap;margin:calc(-1 * var(--spacing-sm))}.grid>*{margin:var(--spacing-sm)}.grid--2>*{flex:1 1 calc(50% - var(--spacing-md))}.grid--3>*{flex:1 1 calc(33.333% - var(--spacing-md))}.grid--4>*{flex:1 1 calc(25% - var(--spacing-md))}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon .form-input{padding-left:calc(var(--spacing-lg) + var(--spacing-md))}.input-with-icon .input-with-icon__icon{position:absolute;left:var(--spacing-md);color:var(--color-text-secondary);pointer-events:none;display:flex;align-items:center;justify-content:center}.input-with-icon__icon svg{width:20px;height:20px}.time-input-root{position:relative}.time-input{width:100%;min-height:40px;display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background)}.time-input:focus-within{border-color:var(--color-primary);border-width:2px;padding:calc(var(--spacing-sm) - 1px) calc(var(--spacing-md) - 1px)}.time-input--error{border-color:var(--color-error)}.time-input--error:focus-within{border-color:var(--color-error)}.time-input__segment{width:2ch;border:none;outline:none;background:transparent;font-size:var(--text-base);text-align:center;color:var(--color-text);padding:0}.time-input__colon{color:var(--color-text-secondary);-webkit-user-select:none;user-select:none}.time-input-dropdown{position:absolute;z-index:20;top:calc(100% + 4px);left:0;width:100%;max-height:200px;overflow-y:auto;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md)}.time-input-dropdown__option{width:100%;min-height:40px;border:none;background:transparent;text-align:left;padding:0 var(--spacing-md);cursor:pointer}.time-input-dropdown__option:hover{background-color:var(--color-hover-bg)}.sidebar{width:var(--sidebar-width);min-width:var(--sidebar-width);height:100%;background:var(--sidebar-bg);color:var(--sidebar-text);display:flex;flex-direction:column;overflow:hidden;-webkit-user-select:none;user-select:none}.sidebar__logo{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);min-height:56px;font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-on-dark);border-bottom:1px solid var(--sidebar-border);cursor:pointer;transition:background-color .15s}.sidebar__logo:hover{background-color:var(--sidebar-hover-bg)}.sidebar__logo:focus-visible{outline:2px solid var(--sidebar-outline);outline-offset:-2px}.sidebar__logo-icon{flex-shrink:0;opacity:.9}.sidebar__logo-text{line-height:var(--line-height-tight)}.sidebar__nav{display:flex;flex-direction:column;padding:var(--spacing-sm) 0;flex:1;overflow-y:auto}.sidebar__link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-base);color:var(--sidebar-text);text-decoration:none;border:none;background:none;width:100%;text-align:left;cursor:pointer;transition:background-color .15s,color .15s;border-radius:0}.sidebar__link:hover{background-color:var(--sidebar-hover-bg);color:var(--color-on-dark)}.sidebar__link:focus-visible{outline:2px solid var(--sidebar-outline);outline-offset:-2px}.sidebar__link--active{background-color:var(--sidebar-active-bg);color:var(--color-on-dark)}.sidebar__link--active .sidebar__link-icon{opacity:1}.sidebar__link-icon{flex-shrink:0;opacity:.7;display:flex;align-items:center}.sidebar__link-icon svg{width:20px;height:20px}.sidebar__link-text{flex:1}.sidebar__divider{height:1px;background:var(--sidebar-border);margin:var(--spacing-xs) var(--spacing-md)}.sidebar__section-label{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-xs);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);color:var(--sidebar-text-muted);text-transform:uppercase;letter-spacing:.08em}.sidebar__footer{display:flex;flex-direction:column;border-top:1px solid var(--sidebar-border);padding:var(--spacing-xs) 0}.sidebar__user{display:flex;flex-direction:column;padding:var(--spacing-sm) var(--spacing-md);gap:2px}.sidebar__user--btn{width:100%;text-align:left;border:none;background:none;cursor:pointer;transition:background-color .15s;border-radius:0}.sidebar__user--btn:hover{background-color:var(--sidebar-hover-bg)}.sidebar__user--btn:focus-visible{outline:2px solid var(--sidebar-outline);outline-offset:-2px}.sidebar__user-name{font-size:var(--text-sm);font-weight:var(--font-weight-medium);color:var(--color-on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-role{font-size:var(--text-xs);color:var(--sidebar-text-muted)}.user-profile-dialog-backdrop{align-items:flex-end;justify-content:flex-start;padding:0}.user-profile-dialog{position:fixed;bottom:0;left:var(--sidebar-width);width:320px;background:var(--color-surface);border-radius:0 var(--radius-xl) var(--radius-xl) 0;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;z-index:var(--z-modal);overflow:hidden;animation:profile-dialog-slide-in .2s ease}@keyframes profile-dialog-slide-in{0%{transform:translate(-16px);opacity:0}to{transform:translate(0);opacity:1}}.user-profile-dialog__header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--sidebar-bg);color:var(--color-on-dark)}.user-profile-dialog__avatar{width:44px;height:44px;border-radius:50%;background:var(--sidebar-avatar-bg);display:flex;align-items:center;justify-content:center;font-size:var(--text-lg);font-weight:var(--font-weight-semibold);flex-shrink:0;color:var(--color-on-dark)}.user-profile-dialog__header-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.user-profile-dialog__name{font-size:var(--text-base);font-weight:var(--font-weight-semibold);color:var(--color-on-dark);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-profile-dialog__role-chip{font-size:var(--text-xs);color:var(--sidebar-text-soft)}.user-profile-dialog__close{background:none;border:none;color:var(--sidebar-text-soft-2);font-size:var(--text-xl);line-height:1;cursor:pointer;padding:4px;border-radius:var(--radius-sm);flex-shrink:0;transition:color .15s}.user-profile-dialog__close:hover{color:var(--color-on-dark)}.user-profile-dialog__body{padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.user-profile-row{display:flex;flex-direction:column;gap:2px}.user-profile-row--sites{gap:var(--spacing-xs)}.user-profile-row__label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.user-profile-row__value{font-size:var(--text-base);color:var(--color-text);word-break:break-word}.user-profile-sites-list{margin:0;padding-left:var(--spacing-lg);font-size:var(--text-sm);color:var(--color-text)}.user-profile-sites-list__item--default{font-weight:var(--font-weight-medium)}.user-profile-description{margin-top:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-2);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);border-left:3px solid var(--color-primary)}.app-layout{display:flex;height:100vh;overflow:hidden}.app-main{flex:1;min-width:0;height:100%;overflow-y:auto;padding:var(--spacing-lg);background:var(--color-surface-2)}.app-login{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;background:transparent}.btn:active{transform:var(--interactive-transform-active)}.btn-disabled{color:gray;cursor:not-allowed;opacity:.6}.btn-primary:hover{opacity:var(--interactive-opacity-hover)}.btn-primary:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.btn-primary:disabled{opacity:var(--interactive-opacity-disabled)}.btn-outlined:hover{opacity:var(--interactive-opacity-hover)}.btn-outlined:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.icon-btn:hover{opacity:var(--interactive-opacity-hover);background-color:var(--color-hover-bg)}.icon-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.page-root-wrap{width:100%}.page-root{margin-top:var(--spacing-lg)}.page-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-medium)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.page-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.page-alert{margin-bottom:var(--spacing-lg)}.page-loading{display:flex;justify-content:center;padding:var(--spacing-lg)}.page-paper{padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.page-paper-nopad{margin-top:var(--spacing-lg)}.search-field-wrap{margin-bottom:var(--spacing-lg)}.table-row-clickable{cursor:var(--interactive-cursor-pointer)}.table-row-clickable:hover{background-color:var(--color-hover-bg)}.form-paper{padding:var(--spacing-lg)}.form-alert,.form-alert-mb{margin-bottom:var(--spacing-lg)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md)}.form-actions .btn:hover{opacity:var(--interactive-opacity-hover)}.form-actions .btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.form-section-title{margin-top:var(--spacing-md)}.form-flex-wrap{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.form-flex-end{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md)}.form-flex-between{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.form-block-mb{margin-bottom:var(--spacing-md)}.form-block-mt{margin-top:var(--spacing-md)}.form-caption{margin-top:var(--spacing-sm);display:block}.form-chips-wrap{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.form-column-wrap{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.form-outlined-paper{padding:var(--spacing-md)}.form-outlined-paper:hover{background-color:var(--color-hover-bg)}.form-border-left{padding-left:var(--spacing-lg);border-left:2px solid var(--color-primary)}.form-flex-1{flex:1}.form-flex-bold{flex:1;font-weight:700}.form-center-text{padding:var(--spacing-md);text-align:center}.form-min-width-auto{min-width:auto;white-space:nowrap}.form-gap-1{display:flex;gap:var(--spacing-sm);align-items:flex-start}.form-gap-2{display:flex;gap:var(--spacing-md);align-items:center}.form-gap-2-end{display:flex;gap:var(--spacing-md);justify-content:flex-end;align-items:center;margin-top:var(--spacing-md)}.form-mb-2{margin-bottom:var(--spacing-md)}.form-mt-1{margin-top:var(--spacing-sm)}.form-mt-2{margin-top:var(--spacing-md)}.form-pl-3{padding-left:var(--spacing-lg)}.form-nowrap{white-space:nowrap}.form-row{display:flex;flex-wrap:wrap;margin:calc(var(--spacing-sm))}.form-row>*{margin:0 var(--spacing-sm)}.form-row--wrap{flex-wrap:wrap}.form-group--full{flex:1 1 100%}.form-hint{display:block;font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.login-root{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;background:transparent;transition:opacity var(--login-anim-phase1-duration, 1s) var(--login-anim-phase1-easing, ease)}.login-root--fading{opacity:0;pointer-events:none}#root.auth-background{position:relative;min-height:100vh;overflow:hidden;background:var(--color-surface-2)}#root.auth-background:before{content:"";position:absolute;inset:50% auto auto 50%;width:70vw;height:70vh;background-image:url(/assets/Books_logo-B9J8ZjQz.svg);background-repeat:no-repeat;background-position:center;background-size:contain;opacity:.22;transform:translate(-50%,-50%);pointer-events:none}#root.auth-background.auth-bg--animating:before{width:80vw;height:80vh;opacity:1;transition:width var(--login-anim-phase1-duration, 1s) var(--login-anim-phase1-easing, ease),height var(--login-anim-phase1-duration, 1s) var(--login-anim-phase1-easing, ease),opacity var(--login-anim-phase1-duration, 1s) var(--login-anim-phase1-easing, ease)}.login-anim-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-surface-2)}.login-anim-card-wrap{width:80vw;height:80vh;perspective:1200px}.login-anim-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform var(--login-anim-flip-duration, 1.5s) var(--login-anim-flip-easing, ease-in-out)}.login-anim-card-wrap.flipped .login-anim-card-inner{transform:rotateY(180deg)}.login-anim-card-front,.login-anim-card-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;background-size:contain;background-repeat:no-repeat;background-position:center}.login-anim-card-front{background-image:url(/assets/Books_logo-B9J8ZjQz.svg)}.login-anim-card-back{transform:rotateY(180deg)}.login-anim-welcome{margin-top:2rem;font-size:clamp(1.1rem,2.5vw,1.7rem);font-weight:600;color:#000;opacity:0;transition:opacity var(--login-anim-text-duration, 1s) var(--login-anim-text-easing, ease-out);text-align:center;padding:0 var(--spacing-xl)}.login-anim-welcome.visible{opacity:1}.login-paper{position:relative;z-index:1;padding:var(--spacing-xl);width:100%;max-width:560px;border-radius:var(--radius-xl)}.login-title{text-align:center;margin-bottom:var(--spacing-xs);font-size:var(--text-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text)}.login-logo{display:flex;justify-content:center;margin-bottom:var(--spacing-md);color:var(--color-primary)}.login-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.login-alert{margin-bottom:var(--spacing-md)}.login-form{margin-top:var(--spacing-sm)}.login-submit{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md)}.login-submit:hover{opacity:var(--interactive-opacity-hover)}.login-submit:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.login-submit:disabled{opacity:var(--interactive-opacity-disabled)}.login-password-wrap{position:relative;display:flex;align-items:center}.login-password-wrap .login-password-input{padding-right:44px}.login-password-toggle{position:absolute;right:var(--spacing-sm);display:flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:none;border-radius:var(--radius-sm, 4px);background:transparent;color:var(--color-text-secondary);cursor:pointer}.login-password-toggle:hover:not(:disabled){color:var(--color-text-primary);opacity:var(--interactive-opacity-hover, .85)}.login-password-toggle:active:not(:disabled){opacity:1}.login-password-toggle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.login-password-toggle:disabled{opacity:var(--interactive-opacity-disabled);cursor:not-allowed}.login-password-toggle svg{width:22px;height:22px}.login-footer{margin-top:var(--spacing-sm);text-align:center}.login-forgot-link{font-size:var(--text-sm);color:var(--color-text-secondary);text-decoration:none}.login-forgot-link:hover{color:var(--color-primary);text-decoration:underline}.forgot-hint{font-size:var(--text-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-md);line-height:var(--line-height-normal)}.forgot-sent{display:flex;flex-direction:column;gap:var(--spacing-md)}.forgot-back-btn{margin-top:var(--spacing-xs)}.login-anim-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--color-surface-2);animation:login-anim-bg-in .7s ease both}.login-anim-perspective{width:70vw;height:70vh;perspective:1200px;animation:login-anim-grow .7s ease both}.login-anim-card{width:100%;height:100%;position:relative;transform-style:preserve-3d;animation:login-anim-flip .25s cubic-bezier(.4,0,.2,1) .7s both}.login-anim-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px}.login-anim-face--back{transform:rotateY(180deg)}.login-anim-face img{max-width:60%;max-height:60%;object-fit:contain}.login-anim-face--front img{animation:login-anim-front-reveal .7s ease both}.login-anim-welcome{font-size:1.5rem;font-weight:600;color:#000;text-align:center;padding:0 24px;opacity:0;animation:login-anim-welcome-in .3s ease 1s both}@keyframes login-anim-bg-in{0%{opacity:0}to{opacity:1}}@keyframes login-anim-grow{0%{width:70vw;height:70vh}to{width:80vw;height:80vh}}@keyframes login-anim-front-reveal{0%{opacity:.22}to{opacity:.85}}@keyframes login-anim-flip{0%{transform:rotateY(0)}to{transform:rotateY(180deg)}}@keyframes login-anim-welcome-in{0%{opacity:0}to{opacity:1}}.home-root{height:calc(100dvh - var(--spacing-lg) * 3);display:flex;flex-direction:column}.home-grid{display:grid;grid-template-rows:1.3fr 1fr;gap:var(--spacing-lg);flex:1;min-height:0}.home-card{display:flex;flex-direction:column;min-height:0;padding:0;overflow:hidden}.home-card__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-divider);flex-shrink:0}.home-card__title{font-size:var(--text-md);font-weight:var(--font-weight-semibold);margin:0;color:var(--color-text)}.home-tabs{flex-shrink:0;border-bottom:1px solid var(--color-divider);flex-wrap:wrap}.home-tabs .tab-list__tab{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-sm)}.home-card__body{flex:1;min-height:0;overflow-y:auto}.home-table{font-size:var(--text-sm)}.home-table th{position:sticky;top:0;background:var(--color-surface);z-index:1}.home-journal-name{font-weight:var(--font-weight-medium);color:var(--color-text)}.home-journal-meta{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:2px}.home-star-btn{color:var(--color-star);width:32px;height:32px}.home-star-btn:hover:not(:disabled){color:var(--color-star-hover)}.home-star-btn svg{width:18px;height:18px}.home-history-time{white-space:nowrap;color:var(--color-text-secondary);font-size:var(--text-xs)}.home-history-journal{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-empty{margin:var(--spacing-md)}.home-favorites-dialog{min-width:min(900px,95vw);max-width:95vw}.home-site-separator-row td{background:var(--color-surface-3);font-weight:var(--font-weight-medium);font-size:var(--text-sm);color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-md)}.history-page{display:flex;flex-direction:column;gap:var(--spacing-lg)}.history-page__header{display:flex;align-items:center;gap:var(--spacing-sm)}.history-page__title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-medium)}.history-page__count{font-size:var(--text-sm);color:var(--color-text-secondary)}.history-filters{padding:var(--spacing-md) var(--spacing-lg)}.history-filters__row{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);align-items:flex-end}.history-search-group{flex:1;min-width:200px}.history-search{width:100%}.history-filter-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.history-filter-group__label{font-size:var(--text-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:var(--font-weight-medium)}.history-filter-group__btns{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.btn--sm{min-height:28px;padding:2px var(--spacing-sm);font-size:var(--text-sm)}.history-filter-btn{background:var(--color-surface-2);color:var(--color-text-secondary);border-color:var(--color-border)}.history-filter-btn:hover:not(:disabled){background:var(--color-hover-bg);color:var(--color-text)}.history-filter-btn--active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.history-filter-btn--active:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-on-primary)}.history-table-card{padding:0;overflow:hidden}.history-loading{display:flex;justify-content:center;padding:var(--spacing-xl)}.history-table{font-size:var(--text-sm)}.history-sort-btn{background:none;border:none;cursor:pointer;font-size:inherit;font-weight:inherit;color:inherit;padding:0;display:inline-flex;align-items:center;gap:var(--spacing-xs);white-space:nowrap}.history-sort-btn:hover{color:var(--color-primary)}.history-sort-icon{font-size:var(--text-md);line-height:1}.history-time{white-space:nowrap;font-size:var(--text-xs);color:var(--color-text-secondary)}.history-journal-cell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-row--no-link{cursor:default}.history-empty{text-align:center;padding:var(--spacing-xl)}.history-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-top:1px solid var(--color-divider)}.history-pagination__size{display:flex;align-items:center;gap:var(--spacing-sm)}.history-pagination__size-label{font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap}.history-page-size-select{width:auto;min-height:28px;padding:2px var(--spacing-sm);font-size:var(--text-sm)}.history-pagination__info{font-size:var(--text-sm);color:var(--color-text-secondary)}.history-pagination__nav{display:flex;align-items:center;gap:var(--spacing-xs)}.history-nav-btn{min-width:32px;min-height:28px;padding:2px var(--spacing-xs);font-size:var(--text-md)}.history-pagination__pages{font-size:var(--text-sm);color:var(--color-text-secondary);min-width:60px;text-align:center}.users-list-page .page-root{margin-top:var(--spacing-lg)}.users-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.users-list-page .page-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.users-list-page .page-alert{margin-bottom:var(--spacing-lg)}.users-list-page .page-loading{display:flex;justify-content:center;padding:var(--spacing-lg)}.users-list-page .dialog-form-control-mt{margin-top:var(--spacing-md)}.users-list-page .menu-backdrop{cursor:default}.users-list-page .menu-item-with-icon{display:flex;align-items:center;gap:var(--spacing-sm)}.users-list-page .menu-item-icon{flex-shrink:0;width:20px;height:20px}.users-list-page .menu-item-delete{color:var(--color-error)}.users-list-page .text-secondary{color:var(--color-text-secondary);font-size:var(--text-sm)}.dialog-paper--dark{background:var(--sidebar-bg);color:var(--sidebar-text);border:1px solid var(--sidebar-border)}.dialog__title--dark{color:var(--color-on-dark);border-bottom:1px solid var(--sidebar-border);padding-bottom:var(--spacing-md);margin-bottom:0}.delete-user-info{background:var(--sidebar-surface-soft);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.delete-user-info__row{display:flex;align-items:center;gap:var(--spacing-md)}.delete-user-info__label{font-size:var(--text-sm);color:var(--sidebar-text-muted);min-width:64px;flex-shrink:0}.delete-user-info__value{font-size:var(--text-base);color:var(--color-on-dark);font-weight:var(--font-weight-medium)}.delete-warning-text{font-size:var(--text-sm);color:var(--sidebar-text-muted);margin:0}.btn--dark-outlined{background:transparent;border:1px solid var(--sidebar-outline-strong);color:var(--sidebar-text)}.btn--dark-outlined:hover{background:var(--sidebar-hover-bg);border-color:var(--sidebar-outline-stronger);color:var(--color-on-dark)}.btn--danger-solid{background:var(--color-error);color:var(--color-on-primary);border:none}.btn--danger-solid:hover{background:var(--color-error-dark)}.sites-management-page .page-root{margin-top:var(--spacing-lg)}.sites-management-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.sites-management-page .page-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.sites-management-page .page-alert{margin-bottom:var(--spacing-lg)}.sites-management-page .page-loading{display:flex;justify-content:center;padding:var(--spacing-lg)}.sites-management-page .dialog-form-control-mt{margin-top:var(--spacing-md)}.sites-actions{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.sites-assignments-dialog{width:min(1100px,96vw);max-width:96vw}.sites-sections{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.sites-assignment-list{max-height:45vh;overflow:auto;border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:var(--spacing-sm)}.sites-assignment-item{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-xs) 0}.sites-assignment-secondary{display:block;color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:2px}.create-user-page .page-root{margin-top:var(--spacing-lg)}.create-user-page .page-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.create-user-page .page-paper{padding:var(--spacing-lg);margin-top:var(--spacing-lg)}.create-user-page .form-alert{margin-bottom:var(--spacing-lg)}.create-user-page .form-actions{margin-top:var(--spacing-lg)}.create-user-page .form-actions .submit-btn:hover{opacity:var(--interactive-opacity-hover)}.create-user-page .form-actions .submit-btn:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.journals-list-page .page-root{margin-top:var(--spacing-lg)}.journals-list-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.journals-list-page .page-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.journals-list-page .search-wrap,.journals-list-page .search-field-wrap{margin-bottom:var(--spacing-lg)}.journals-list-page .menu-item-with-icon{display:flex;align-items:center;gap:var(--spacing-sm)}.journals-list-page .menu-item-icon{flex-shrink:0;width:20px;height:20px}.journals-list-page .text-secondary{color:var(--color-text-secondary);font-size:var(--text-sm)}.journals-list-page .page-alert{margin-bottom:var(--spacing-lg)}.journals-list-page .page-loading{display:flex;justify-content:center;padding:var(--spacing-lg)}.journals-list-page .table-row-clickable{cursor:var(--interactive-cursor-pointer)}.journals-list-page .table-row-clickable:hover{background-color:var(--color-hover-bg)}.journals-list-page .menu-item-delete{color:var(--color-error)}.journals-list-page .menu-item-delete:hover{background-color:var(--color-hover-bg)}.journals-list-page .journals-list-row--template{background-color:var(--color-surface-alt)}.journals-list-page .journals-list-cell--template-name{padding-left:2rem}.journals-list-page .journals-list-template-prefix{color:var(--color-text-secondary);font-size:var(--text-sm)}.journals-list-page .journals-list-favorite-btn{color:var(--color-star)}.journals-list-page .journals-site-tabs-wrap{margin:var(--spacing-sm) var(--spacing-md) 0}.journals-list-page .journals-site-tabs{overflow-x:auto}.edit-journal-page .edit-journal-root{margin-top:var(--spacing-lg)}.edit-journal-page .edit-journal-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.edit-journal-page .edit-journal-loading{display:flex;justify-content:center;margin-top:var(--spacing-lg)}.edit-journal-page .edit-journal-error{margin-top:var(--spacing-lg)}.edit-journal-page .edit-journal-alert-mb{margin-bottom:var(--spacing-lg)}.edit-journal-page .edit-journal-paper{padding:var(--spacing-lg)}.edit-journal-page .edit-journal-section-title{margin-top:var(--spacing-md)}.edit-journal-page .edit-journal-roles-wrap{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.edit-journal-page .edit-journal-site-scope-row{display:flex;flex-wrap:nowrap;gap:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-sm);overflow-x:auto}.edit-journal-page .edit-journal-site-scope-option{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.edit-journal-page .edit-journal-access-row{display:flex;gap:var(--spacing-lg);align-items:flex-start}.edit-journal-page .edit-journal-access-col{min-width:0}.edit-journal-page .edit-journal-access-col--roles{flex:1 1 auto}.edit-journal-page .edit-journal-access-col--site{flex:0 0 auto;max-width:45%}@media (max-width: 900px){.edit-journal-page .edit-journal-access-row{flex-direction:column;gap:var(--spacing-md)}.edit-journal-page .edit-journal-access-col--site{max-width:100%}}.edit-journal-page .edit-journal-roles-wrap button.chip{cursor:pointer;font-family:inherit;font-size:inherit}.edit-journal-page .edit-journal-alert-mt-1{margin-top:var(--spacing-sm)}.edit-journal-page .edit-journal-alert-mt-2{margin-top:var(--spacing-md)}.edit-journal-page .edit-journal-form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md)}.edit-journal-page .edit-journal-formula-editor{margin-top:var(--spacing-sm)}.edit-journal-page .edit-journal-formula-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.edit-journal-page .edit-journal-formula-op{max-width:4rem}.edit-journal-page .edit-journal-formula-num{max-width:6rem}.edit-journal-page .edit-journal-primary-option{display:inline-flex;align-items:center;gap:6px;margin-top:6px}.edit-journal-page .edit-journal-column-options,.edit-journal-page .edit-journal-subcolumn-options{display:flex;flex-direction:column;gap:var(--spacing-xs)}.edit-journal-page .edit-journal-select-dialog{width:min(560px,calc(100vw - 32px))}.edit-journal-page .edit-journal-select-options-list{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);max-height:240px;overflow-y:auto}.edit-journal-page .edit-journal-option-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);border:1px solid var(--color-divider);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm)}.edit-journal-page .edit-journal-add-option-row{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.create-journal-page .create-journal-root{margin-top:var(--spacing-lg)}.create-journal-page .create-journal-header{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.create-journal-page .create-journal-alert-mb{margin-bottom:var(--spacing-lg)}.create-journal-page .create-journal-paper{padding:var(--spacing-lg)}.create-journal-page .create-journal-section-title{margin-top:var(--spacing-md)}.create-journal-page .create-journal-roles-wrap{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.create-journal-page .create-journal-site-scope-row{display:flex;flex-wrap:nowrap;gap:var(--spacing-sm) var(--spacing-md);margin-top:var(--spacing-sm);overflow-x:auto}.create-journal-page .create-journal-site-scope-option{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.create-journal-page .create-journal-access-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--spacing-lg);row-gap:var(--spacing-sm);align-items:start}.create-journal-page .create-journal-access-grid>.create-journal-section-title:first-of-type{grid-column:2;grid-row:1}.create-journal-page .create-journal-access-grid>.create-journal-section-title:nth-of-type(2){grid-column:1;grid-row:1}.create-journal-page .create-journal-access-grid>.create-journal-site-scope-row{grid-column:2;grid-row:2}.create-journal-page .create-journal-access-grid>.create-journal-roles-wrap{grid-column:1;grid-row:2}.create-journal-page .create-journal-access-grid>.alert.alert--info{grid-column:1;grid-row:3}.create-journal-page .create-journal-access-grid>.alert.alert--warning{grid-column:1;grid-row:4}.create-journal-page .create-journal-access-grid>.create-journal-site-scope-row>.create-journal-site-scope-option:first-of-type{display:none}.create-journal-page .create-journal-access-row{display:flex;gap:var(--spacing-lg);align-items:flex-start}.create-journal-page .create-journal-access-col{min-width:0}.create-journal-page .create-journal-access-col--roles{flex:1 1 auto}.create-journal-page .create-journal-access-col--site{flex:0 0 auto;max-width:45%}@media (max-width: 900px){.create-journal-page .create-journal-access-grid{grid-template-columns:1fr;row-gap:var(--spacing-sm)}.create-journal-page .create-journal-access-grid>.create-journal-section-title:first-of-type{grid-column:1;grid-row:1}.create-journal-page .create-journal-access-grid>.create-journal-site-scope-row{grid-column:1;grid-row:2}.create-journal-page .create-journal-access-grid>.create-journal-section-title:nth-of-type(2){grid-column:1;grid-row:3}.create-journal-page .create-journal-access-grid>.create-journal-roles-wrap{grid-column:1;grid-row:4}.create-journal-page .create-journal-access-grid>.alert.alert--info{grid-column:1;grid-row:5}.create-journal-page .create-journal-access-grid>.alert.alert--warning{grid-column:1;grid-row:6}.create-journal-page .create-journal-access-row{flex-direction:column;gap:var(--spacing-md)}.create-journal-page .create-journal-access-col--site{max-width:100%}}.create-journal-page .create-journal-alert-mt-1{margin-top:var(--spacing-sm)}.create-journal-page .create-journal-columns-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.create-journal-page .create-journal-alert-mb-2{margin-bottom:var(--spacing-md)}.create-journal-page .create-journal-outlined-paper{padding:var(--spacing-md)}.create-journal-page .create-journal-column-row{display:flex;align-items:center;padding:var(--spacing-sm);margin-bottom:var(--spacing-sm);background-color:var(--color-hover-bg);border-radius:var(--radius-sm)}.create-journal-page .create-journal-column-row-mt{margin-top:var(--spacing-sm)}.create-journal-page .create-journal-column-row-flex-1{flex:1;font-weight:700}.create-journal-page .create-journal-column-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm)}.create-journal-page .create-journal-column-item-header{display:flex;align-items:center;margin-bottom:0}.create-journal-page .create-journal-column-item-header-with-subs{margin-bottom:var(--spacing-sm)}.create-journal-page .create-journal-column-item-flex-1{flex:1}.create-journal-page .create-journal-btn-mr{margin-right:var(--spacing-sm)}.create-journal-page .create-journal-subcolumns-wrap{padding-left:var(--spacing-lg);border-left:2px solid var(--color-primary)}.create-journal-page .create-journal-subcolumn-row{display:flex;align-items:center;padding:var(--spacing-xs);margin-bottom:var(--spacing-xs);background-color:var(--color-hover-bg);border-radius:var(--radius-sm)}.create-journal-page .create-journal-subcolumn-flex-1{flex:1}.create-journal-page .create-journal-primary-column-group{margin-bottom:var(--spacing-md)}.create-journal-page .create-journal-primary-column-options{display:flex;flex-wrap:wrap;gap:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-xs)}.create-journal-page .create-journal-primary-column-option{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm)}.create-journal-page .create-journal-primary-column-option-inline{margin-right:var(--spacing-sm)}.create-journal-page .create-journal-empty-columns-msg{padding:var(--spacing-md);text-align:center}.create-journal-page .create-journal-form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-md)}.create-journal-page .dialog-paper.create-journal-dialog-paper{width:90vw;display:flex;flex-direction:column;overflow:hidden}.create-journal-page .dialog-paper.create-journal-dialog-paper .create-journal-dialog-content{overflow-y:auto;flex:1 1 auto;min-height:0;max-height:65vh}.create-journal-page .create-journal-dialog-content{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-sm);padding:0 24px}.create-journal-page .create-journal-option-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background)}.create-journal-page .create-journal-option-row .create-journal-option-flex-1{flex:1}.create-journal-page .create-journal-add-option-row{display:flex;gap:var(--spacing-sm);align-items:flex-start}.create-journal-page .create-journal-add-btn{min-width:auto;white-space:nowrap}.create-journal-page .create-journal-caption{margin-top:var(--spacing-sm);display:block}.create-journal-page .create-journal-mb-2,.create-journal-page .create-journal-alert-mb-2-inline{margin-bottom:var(--spacing-md)}.create-journal-page .create-journal-mb-1{margin-bottom:var(--spacing-sm)}.create-journal-page .create-journal-dialog-mt{margin-top:var(--spacing-md)}.create-journal-page .create-journal-confirm-actions{gap:var(--spacing-sm);padding:var(--spacing-md)}.create-journal-page .create-journal-confirm-btn-yes{font-weight:var(--font-weight-semibold);box-shadow:var(--shadow-sm)}.create-journal-page .create-journal-confirm-btn-no{background-color:var(--color-background);color:var(--color-text)}.create-journal-page .create-journal-confirm-btn-no:hover{background-color:var(--color-hover-bg)}.create-journal-page .create-journal-formula-editor{margin-top:var(--spacing-sm)}.create-journal-page .create-journal-formula-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.create-journal-page .create-journal-formula-op{max-width:4rem}.create-journal-page .create-journal-formula-num{max-width:6rem}.create-journal-page .create-journal-accounting-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-sm)}.create-journal-page .create-journal-accounting-table th,.create-journal-page .create-journal-accounting-table td{padding:var(--spacing-sm);text-align:left;vertical-align:middle}.create-journal-page .create-journal-accounting-table th{font-weight:var(--font-weight-semibold)}.create-journal-page .create-journal-accounting-table .form-input{width:100%;max-width:100%}.create-journal-page .create-journal-accounting-table td:last-child{width:1%;white-space:nowrap}.create-template-page .template-columns-checkboxes{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.create-template-page .template-columns-checkboxes .checkbox-label{display:inline-flex;align-items:center;gap:var(--spacing-xs);cursor:pointer;white-space:nowrap}.formula-editor{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md)}.formula-editor--compact{padding:var(--spacing-md);gap:var(--spacing-sm)}.formula-editor__header{display:flex;align-items:center;gap:var(--spacing-sm);justify-content:space-between}.formula-editor__title{font-size:var(--text-md);font-weight:var(--font-weight-semibold);color:var(--color-text)}.formula-editor__header-wrap{position:relative}.formula-editor__info-btn{width:clamp(24px,1.8vw,28px);height:clamp(24px,1.8vw,28px);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-primary);font-weight:var(--font-weight-semibold);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:var(--interactive-transition)}.formula-editor__info-btn:hover{background:var(--color-primary-soft)}.formula-editor__strip{display:flex;flex-wrap:wrap;align-items:center;gap:0;padding:var(--spacing-md);background:var(--color-surface-2);border-radius:var(--radius-md);min-height:clamp(56px,5vw,72px);outline:none;cursor:text;border:1px solid transparent}.formula-editor__strip:focus{border-color:var(--color-primary-outline)}.formula-editor__strip--empty{color:var(--color-text-secondary);justify-content:center;font-size:var(--text-sm)}.formula-editor__token-wrap{display:inline-flex;align-items:center}.formula-editor__caret-slot{width:clamp(14px,1vw,18px);align-self:stretch;display:inline-flex;align-items:center;justify-content:center;cursor:text;position:relative;min-height:clamp(34px,2.6vw,40px)}.formula-editor__caret-slot:after{content:"";width:3px;height:0;background:var(--color-primary);border-radius:2px;transition:height .15s,opacity .15s;opacity:0}.formula-editor__caret-slot:hover:after{height:60%;opacity:.4}.formula-editor__caret-slot--active:after{height:calc(100% + 4px);width:3px;opacity:1;box-shadow:0 0 0 2px var(--color-primary-soft);animation:formula-caret-blink .9s steps(2,jump-none) infinite}.formula-editor__caret-slot--drop-target:after{height:calc(100% + 4px);width:4px;opacity:1;background:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-soft)}@keyframes formula-caret-blink{0%,49%{opacity:1}50%,to{opacity:.35}}.formula-editor__token{display:inline-flex;align-items:center;height:clamp(34px,2.6vw,40px);padding:0 var(--spacing-md);border-radius:var(--radius-pill);font-size:var(--text-base);font-weight:var(--font-weight-medium);cursor:grab;-webkit-user-select:none;user-select:none;border:1px solid transparent;transition:var(--interactive-transition)}.formula-editor__token:active{cursor:grabbing}.formula-editor__token--column{background:var(--color-primary-soft);color:var(--color-primary-dark);border-color:var(--color-primary-outline)}.formula-editor__token--number{background:var(--color-surface-3);color:var(--color-text);font-family:ui-monospace,monospace}.formula-editor__token--op{background:var(--color-warning-soft);color:var(--color-warning);font-family:ui-monospace,monospace;font-weight:var(--font-weight-semibold);padding:0 var(--spacing-sm);font-size:var(--text-lg)}.formula-editor__token--paren{background:var(--color-surface);border:1px dashed var(--color-border-strong);color:var(--color-text-secondary);padding:0 var(--spacing-sm);font-family:ui-monospace,monospace}.formula-editor__token--paren-mismatch{border-color:var(--color-error);color:var(--color-error)}.formula-editor__token--selected{outline:2px solid var(--color-primary);outline-offset:2px;background:var(--color-primary-soft)}.formula-editor__token--dragging{opacity:.5}.formula-editor__preview{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface-2);border-radius:var(--radius-md)}.formula-editor__preview-row{display:flex;gap:var(--spacing-sm);align-items:baseline;font-size:var(--text-sm);flex-wrap:wrap}.formula-editor__preview-label{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:var(--text-xs);font-weight:var(--font-weight-medium);min-width:clamp(80px,8vw,120px)}.formula-editor__preview-value{font-family:ui-monospace,monospace;word-break:break-word}.formula-editor__preview-value--ok{color:var(--color-success)}.formula-editor__preview-value--error{color:var(--color-error)}.formula-editor__test-values{margin-top:var(--spacing-xs)}.formula-editor__test-values>summary{cursor:pointer;font-size:var(--text-xs);color:var(--color-text-secondary)}.formula-editor__test-values-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(180px,18vw,240px),1fr));gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.formula-editor__test-value{display:flex;flex-direction:column;gap:var(--spacing-xs)}.formula-editor__palette{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:var(--spacing-md)}@media (max-width: 1100px){.formula-editor__palette{grid-template-columns:1fr}}.formula-editor__palette-section{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-md);background:var(--color-surface-2);border-radius:var(--radius-md)}.formula-editor__palette-label{font-size:var(--text-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.formula-editor__palette-chips{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.formula-editor__palette-chip{display:inline-flex;align-items:center;height:clamp(28px,2.2vw,34px);padding:0 var(--spacing-md);border-radius:var(--radius-pill);background:var(--color-primary-soft);color:var(--color-primary-dark);border:1px solid var(--color-primary-outline);font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--interactive-transition)}.formula-editor__palette-chip:hover{background:var(--color-primary-soft-hover)}.formula-editor__palette-op-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-xs)}.formula-editor__palette-op-btn{height:clamp(36px,3vw,44px);border-radius:var(--radius-md);border:1px solid var(--color-primary-outline);background:var(--color-surface);color:var(--color-primary-dark);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);font-family:ui-monospace,monospace;cursor:pointer;transition:var(--interactive-transition)}.formula-editor__palette-op-btn:hover{background:var(--color-primary-soft)}.formula-editor__palette-paren-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.formula-editor__palette-paren-btn{height:clamp(32px,2.6vw,38px);border-radius:var(--radius-md);border:1px dashed var(--color-border-strong);background:var(--color-surface);color:var(--color-text-secondary);font-size:var(--text-md);font-family:ui-monospace,monospace;cursor:pointer;transition:var(--interactive-transition)}.formula-editor__palette-paren-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.formula-editor__palette-number-row{display:flex;gap:var(--spacing-xs);align-items:center}.formula-editor__palette-number-input{flex:1;min-width:0}.formula-editor__footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.formula-editor__help-popover{position:absolute;right:0;top:calc(100% + var(--spacing-xs));width:min(420px,90vw);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown)}.formula-editor__help-popover ul{margin:var(--spacing-xs) 0 0;padding-left:var(--spacing-lg)}.formula-editor__help-popover li{margin-bottom:var(--spacing-xs);font-size:var(--text-sm);line-height:var(--line-height-normal)}.formula-editor__hint{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.formula-editor__hint--block{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary-soft);border-left:3px solid var(--color-primary);border-radius:var(--radius-sm)}.formula-editor__paren-mate{position:absolute;pointer-events:none}.journal-view__container{width:100%;padding:var(--spacing-md)}.journal-view__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.journal-view__title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-medium)}.journal-view__title-wrap{display:flex;align-items:center;gap:var(--spacing-xs)}.journal-view__favorite-btn{color:var(--color-star)}.journal-view__subtitle{margin:var(--spacing-xs) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.journal-view__header-left{display:flex;align-items:center;gap:var(--spacing-md)}.journal-view__header-right{display:flex;gap:var(--spacing-md)}.journal-view__filters{margin-bottom:var(--spacing-lg);display:flex;gap:var(--spacing-md);align-items:flex-end;flex-wrap:wrap}.journal-view__filter-group{display:flex;gap:var(--spacing-sm);align-items:center}.journal-view__filter-name{min-width:200px}.journal-view__alert-mb{margin-bottom:var(--spacing-lg)}.journal-view__table-scroll-wrap{overflow-x:auto;overflow-y:hidden;position:relative;mask-image:linear-gradient(to right,transparent,black 24px,black calc(100% - 24px),transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 24px,black calc(100% - 24px),transparent)}.journal-view__exact-filter-row .journal-view__exact-filter-cell{padding:4px;vertical-align:middle}.journal-view__exact-filter-row .journal-view__exact-filter-cell--empty,.journal-view__exact-filter-row .journal-view__exact-filter-cell--actions{background:var(--color-bg-secondary)}.journal-view__exact-filter-input{width:100%;box-sizing:border-box;font-size:var(--text-sm)}.journal-view__exact-filter-input::placeholder{font-size:var(--text-sm);color:var(--color-text-secondary)}.journal-view__exact-search-btn.active{font-weight:var(--font-weight-semibold);border-color:var(--color-primary);background:var(--color-primary-soft)}.journal-view__table-container{max-height:calc(100vh - 300px);overflow-x:visible;overflow-y:auto}.journal-view__table{table-layout:auto}.journal-view__table-cell-header{font-weight:700;white-space:normal;word-break:normal;overflow-wrap:break-word;padding:8px 4px;text-align:center;border-right:1px solid var(--color-print-border)}.journal-view__table-cell-header--last{border-right:none}.journal-view__table-cell-sub{font-size:var(--text-sm);white-space:normal;word-break:normal;overflow-wrap:break-word;padding:8px 4px;text-align:center;border-right:1px dashed var(--color-print-border-dashed)}.journal-view__table-cell-sub--last-col{border-right:1px solid var(--color-print-border)}.journal-view__table-cell-sub--last{border-right:none}.journal-view__table-cell-body{white-space:normal;word-break:normal;overflow-wrap:break-word;padding:8px 4px;border-right:1px solid var(--color-border);text-align:center}.journal-view__table-cell-body-user{text-align:left}.journal-view__table-cell-body--center{text-align:center}.journal-view__table-cell-body--last{border-right:none}.journal-view__sticky-primary{position:sticky;left:0;z-index:6;background:var(--color-bg-secondary);box-shadow:1px 0 0 0 var(--color-border)}.journal-view__table-cell-body.journal-view__sticky-primary{z-index:4;background:var(--color-surface)}.journal-view__empty-row{padding:var(--spacing-lg)}.journal-view__form-column-wrap{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-sm)}.journal-view__form-field-mb{margin-bottom:var(--spacing-md)}.journal-view__form-label-mb{margin-bottom:var(--spacing-sm);font-weight:700}.journal-view__form-subfield-mb{margin-bottom:var(--spacing-sm)}.journal-view__print-content{padding:var(--spacing-md)}.journal-view .print-signature-row{display:none}@media print{.journal-view .print-signature-row{display:table-row}}.journal-view__print-header{margin-bottom:var(--spacing-lg);text-align:center}.journal-view__print-mt{margin-top:var(--spacing-sm)}.journal-view__loading,.journal-view__empty-state{display:flex;justify-content:center;padding:var(--spacing-lg)}.journal-view__loading{margin-top:var(--spacing-lg)}.journal-view__body-mt{margin-top:var(--spacing-sm)}.journal-view__table-row{cursor:var(--interactive-cursor-default)}.journal-view__table-row--clickable{cursor:var(--interactive-cursor-pointer)}.journal-view__table-row--clickable:hover{background-color:var(--color-hover-bg)}.journal-view__table-row--edited{background-color:var(--color-edited-bg);border-left:4px solid var(--color-edited-border)}.journal-view__table-row--edited:hover{background-color:var(--color-edited-bg-hover)}.journal-view__history-mt{margin-top:var(--spacing-sm)}.journal-view__history-subtitle{padding:0 var(--spacing-lg);margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.journal-view__history-change-mb{margin-bottom:var(--spacing-sm)}.journal-view__history-was{margin:0;font-size:var(--text-sm);color:var(--color-error)}.journal-view__history-became{margin:0;font-size:var(--text-sm);color:var(--color-success)}.journal-view__history-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.journal-view__print-cell{font-weight:700;border:1px solid var(--color-print-border);white-space:nowrap;padding:8px 4px;text-align:center}.journal-view__print-cell-sub{font-weight:700;border:1px solid var(--color-print-border);font-size:var(--text-sm);white-space:nowrap;padding:8px 4px;text-align:center}.journal-view__print-cell-body{border:1px solid var(--color-print-border-light);border-right:1px solid var(--color-print-border);white-space:nowrap;padding:8px 4px;text-align:center}.journal-view__print-cell-body--last{border-right:1px solid var(--color-print-border-light)}.journal-view__print-cell-body-sub{border:1px solid var(--color-print-border-light);border-right:1px dashed var(--color-print-border);white-space:nowrap;padding:8px 4px;text-align:center}.journal-view__print-cell-body-sub--last{border-right:1px solid var(--color-print-border)}.journal-view__print-cell-body-user{border:1px solid var(--color-print-border-light);white-space:nowrap;padding:8px 4px;text-align:center}.journal-view__print-title{margin:0 0 var(--spacing-sm);font-size:var(--text-lg);font-weight:var(--font-weight-medium)}.journal-view__print-meta{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.journal-view__print-meta-exact{margin-left:.5em}.journal-view__entry-dialog-paper,.journal-view__history-dialog-paper{max-width:min(90vw,900px)}.journal-view__print-dialog-paper{max-width:min(90vw,1200px)}.journal-view__template-cell--invalid{outline:2px solid var(--color-error);outline-offset:-1px}.template-fill-all-label{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:11px;font-weight:400;color:var(--color-text-secondary, #666);cursor:pointer;white-space:nowrap}.template-fill-all-checkbox{cursor:pointer;accent-color:var(--color-primary, #1976d2);width:13px;height:13px;flex-shrink:0}.journals-section-title{padding-left:var(--spacing-md);margin-bottom:15px}.health-journal-page .health-journal-container{width:100%;padding:var(--spacing-md)}.health-journal-page .health-journal-loading{display:flex;justify-content:center;margin-top:var(--spacing-lg)}.health-journal-page .health-journal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.health-journal-page .health-journal-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-medium)}.health-journal-page .health-journal-subtitle{margin:var(--spacing-xs) 0 0;font-size:var(--text-sm);color:var(--color-text-secondary)}.health-journal-page .health-journal-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.health-journal-page .health-journal-header-right{display:flex;gap:var(--spacing-sm)}.health-journal-page .health-journal-alert-mb{margin-bottom:var(--spacing-lg)}.health-journal-page .health-journal-filters-paper{padding:var(--spacing-md);margin-bottom:var(--spacing-lg)}.health-journal-page .health-journal-nav-row{display:flex;align-items:center;gap:var(--spacing-md)}.health-journal-page .health-journal-date-nav{display:flex;align-items:center;gap:var(--spacing-xs)}.health-journal-page .health-journal-date-count{min-width:220px}.health-journal-page .health-journal-records-list{display:flex;flex-direction:column;gap:var(--spacing-lg)}.health-journal-page .health-journal-create-date-note{padding-top:var(--spacing-sm);margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.health-journal-page .health-journal-form-summary{flex:1;font-size:var(--text-sm)}.health-journal-page .health-journal-record-header{padding:var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.health-journal-page .health-journal-record-title{margin:0;font-size:var(--text-md);font-weight:var(--font-weight-medium)}.health-journal-page .health-journal-record-actions{display:flex;gap:var(--spacing-sm)}.health-journal-page .health-journal-table{table-layout:auto}.health-journal-page .journal-view__table-container{max-height:none;max-width:100%;overflow-x:auto;overflow-y:visible}.health-journal-page .journal-view__table-cell-header,.health-journal-page .journal-view__table-cell-sub,.health-journal-page .journal-view__table-cell-body{white-space:normal;word-break:normal;overflow-wrap:break-word}.health-journal-page .health-journal-row--record-start>td{border-top:3px double var(--color-border)}.health-journal-page .health-journal-row--danger>td{background-color:var(--color-danger-row-bg)}.health-journal-page .health-journal-row--hover>td{background-color:var(--color-hover-bg)}.health-journal-page .health-journal-table-cell-header{font-weight:700;padding:8px 4px;text-align:center;border-right:1px solid var(--color-border)}.health-journal-page .health-journal-table-cell-header-last{border-right:none}.health-journal-page .health-journal-table-cell-body{padding:8px 4px;border-right:1px solid var(--color-border)}.health-journal-page .health-journal-table-cell-body-bold{font-weight:700;padding:8px 4px;border-right:1px solid var(--color-border)}.health-journal-page .health-journal-table-cell-body-last{border-right:none}.health-journal-page .health-journal-record-footer{padding:var(--spacing-md);border-top:1px solid var(--color-divider)}.health-journal-page .health-journal-record-footer-text{margin:0;font-size:var(--text-xs);color:var(--color-text-secondary)}.health-journal-page .health-journal-empty-paper{padding:var(--spacing-lg);text-align:center}.health-journal-page .health-journal-empty-title{margin:0;font-size:var(--text-md);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.health-journal-page .health-journal-loading-text{color:var(--color-text-secondary);font-size:var(--text-sm)}.health-journal-page .health-journal-empty-mt{margin-top:var(--spacing-md)}.health-journal-page .health-journal-dialog-actions{margin-left:auto}.health-journal-page .health-journal-form-row{display:flex;align-items:center;gap:var(--spacing-md);margin-top:var(--spacing-md)}.health-journal-page .health-journal-print-filters{margin-bottom:var(--spacing-md);padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.health-journal-page .health-journal-print-filter-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}.health-journal-page .health-journal-print-filter-label{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-size:var(--text-sm)}.health-journal-page .health-journal-print-date,.health-journal-page .health-journal-print-time,.health-journal-page .health-journal-print-name{min-width:120px}.health-journal-page .health-journal-print-filter-checkbox{cursor:pointer}.health-journal-page .health-journal-print-filter-checkbox input{margin:0}.health-journal-page .health-journal-print-content{padding:var(--spacing-md)}.health-journal-page .print-signature-row{display:none}@media print{.health-journal-page .print-signature-row{display:table-row}}.health-journal-page .health-journal-print-header{margin-bottom:var(--spacing-lg);text-align:center}.health-journal-page .health-journal-print-title{margin:0 0 var(--spacing-sm);font-size:var(--text-lg);font-weight:var(--font-weight-medium)}.health-journal-page .health-journal-print-subtitle{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.health-journal-page .health-journal-print-mt{margin-top:var(--spacing-sm)}.health-journal-page .health-journal-print-table-cell{border:1px solid var(--color-print-border);text-align:center;padding:8px 4px}.health-journal-page .health-journal-table-cell-body-admission{white-space:nowrap}.health-journal-page .journal-view__table-cell-body-fio{white-space:nowrap;min-width:8rem;text-align:left}.health-journal-page .health-symbol{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:var(--text-xs);font-weight:var(--font-weight-semibold);box-sizing:border-box}.health-journal-page .health-symbol__icon{line-height:1}.health-journal-page .health-symbol--ok{background-color:var(--color-health-ok-bg);color:var(--color-health-ok-text);border:1px solid var(--color-health-ok-border)}.health-journal-page .health-symbol--fail{background-color:var(--color-health-fail-bg);color:var(--color-health-fail-text);border:1px solid var(--color-health-fail-border)}.health-journal-page .health-journal-info-mt,.health-journal-page .health-journal-form-row-wrap{margin-top:var(--spacing-md)}.health-journal-page .health-journal-dialog-section-header{margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.health-journal-page .health-journal-dialog-section-title{margin:0;font-size:var(--text-md);font-weight:var(--font-weight-medium)}.health-journal-page .health-journal-table-cell-body-center{text-align:center}.health-journal-page .health-journal-table-cell-clickable{cursor:var(--interactive-cursor-pointer)}.health-journal-page .health-journal-table-cell-clickable:hover{background-color:var(--color-hover-bg)}.health-journal-page .health-journal-empty-employees{padding:var(--spacing-md)}.health-journal-page .health-journal-empty-employees-text{margin:0 0 var(--spacing-sm);font-size:var(--text-sm);color:var(--color-text-secondary)}.health-journal-page .health-journal-add-employee-btn{margin-top:var(--spacing-sm)}.health-journal-page .health-journal-employee-autocomplete{position:relative}.health-journal-page .health-journal-employee-autocomplete__list{position:absolute;left:0;right:0;bottom:calc(100% + 4px);z-index:10;display:flex;flex-direction:column;max-height:240px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background);box-shadow:var(--shadow-lg)}.health-journal-page .health-journal-employee-autocomplete__item{width:100%;border:none;border-bottom:1px solid var(--color-divider);background:transparent;text-align:left;padding:8px 12px;cursor:pointer}.health-journal-page .health-journal-employee-autocomplete__item:last-child{border-bottom:none}.health-journal-page .health-journal-employee-autocomplete__item:hover{background-color:var(--color-hover-bg)}.health-journal-page .health-journal-manual-employees-dialog{max-width:760px}.health-journal-page .health-journal-manual-employees-list{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.health-journal-page .health-journal-manual-employees-item{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);background:var(--color-surface)}.health-journal-page .health-journal-manual-employees-name{font-weight:var(--font-weight-semibold);margin-bottom:6px}.health-journal-page .health-journal-manual-employees-toggle{display:flex;align-items:center;gap:8px;margin-top:6px}.accounting-journal-page .page-header{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.accounting-journal-page .page-header-actions{display:flex;gap:var(--spacing-sm);margin-left:auto}.accounting-journal-table-wrap{overflow-x:auto;margin-top:var(--spacing-md)}.accounting-journal-table{width:100%;min-width:520px;table-layout:fixed;--accounting-name-col-width: 220px;--accounting-qty-col-width: 72px}.accounting-journal-th-name,.accounting-journal-cell-name{width:var(--accounting-name-col-width);min-width:var(--accounting-name-col-width);text-align:left}.accounting-journal-th-qty,.accounting-journal-cell-qty{width:var(--accounting-qty-col-width);min-width:var(--accounting-qty-col-width);text-align:center}.accounting-journal-th-qty,.accounting-journal-cell-qty,.accounting-journal-footer-day{box-shadow:1px 0 0 0 var(--color-border)}.accounting-journal-th-day,.accounting-journal-cell-day{width:auto;min-width:32px;text-align:center;cursor:default;border-left:1px solid var(--color-border)}.accounting-journal-th-day--clickable{cursor:pointer}.accounting-journal-th-day--clickable:hover{background:var(--color-hover-bg)}.accounting-journal-edit-hint{margin:0 0 var(--spacing-md);font-size:var(--text-sm);color:var(--color-text-secondary)}.accounting-journal-cell--has-note{background:var(--color-edited-bg-solid)}.accounting-record-dialog-paper{max-width:900px;max-height:90vh;overflow:auto}.accounting-record-modal-table th,.accounting-record-modal-table td{padding:var(--spacing-sm);vertical-align:middle}.accounting-record-modal-table .form-input{width:100%;max-width:100%}.accounting-input--has-note{background:var(--color-edited-bg-solid)}.accounting-note-tooltip-paper{max-width:400px}.accounting-journal-footer-row td{padding:var(--spacing-xs);vertical-align:middle;border-top:2px solid var(--color-border)}.accounting-journal-footer-name{font-weight:var(--font-weight-semibold)}.accounting-journal-footer-day{text-align:center;white-space:nowrap;border-left:1px solid var(--color-border)}.accounting-journal-vertical-name{display:inline-block;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(-180deg);white-space:nowrap;vertical-align:middle;min-height:3em}.accounting-print-preview-wrap{overflow:auto;max-height:60vh;margin:var(--spacing-md) 0;border:1px solid var(--color-border);background:var(--color-surface)}.accounting-print-preview-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:10px}.accounting-print-preview-table th,.accounting-print-preview-table td{border:1px solid var(--color-print-border-soft);padding:2px 4px;text-align:center;vertical-align:middle}.accounting-print-preview-table thead th{background:var(--color-print-header-bg)}.accounting-print-preview-th-name,.accounting-print-preview-cell-name{width:12%;text-align:left}.accounting-print-preview-th-qty,.accounting-print-preview-cell-qty{width:4%}.accounting-print-preview-th-day,.accounting-print-preview-cell-day{border-left:1px solid var(--color-print-border-soft)}.accounting-print-preview-cell--has-note{background:var(--color-edited-bg-solid)}.accounting-print-preview-signature-row td{font-size:9px;border-top:2px solid var(--color-print-border-soft)}.accounting-print-preview-vertical-name{display:inline-block;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(-180deg);white-space:nowrap}.accounting-print-dialog-paper .accounting-print-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-md)}@media (max-width: 1600px){.accounting-journal-table{--accounting-name-col-width: 200px;--accounting-qty-col-width: 68px}}@media (max-width: 1366px){.accounting-journal-table{--accounting-name-col-width: 180px;--accounting-qty-col-width: 64px}.accounting-journal-th-day,.accounting-journal-cell-day{min-width:30px;font-size:var(--text-sm)}}@media (max-width: 1200px){.accounting-journal-table{--accounting-name-col-width: 160px;--accounting-qty-col-width: 58px}.accounting-journal-table th,.accounting-journal-table td{padding:6px 4px}.accounting-journal-th-day,.accounting-journal-cell-day{min-width:28px;font-size:var(--text-xs)}}.employees-management-page .employees-root{margin-top:var(--spacing-lg)}.employees-management-page .employees-page-title{margin:0;font-size:var(--text-xl);font-weight:var(--font-weight-medium)}.employees-management-page .employees-section-title{margin:0;font-size:var(--text-md);font-weight:var(--font-weight-medium)}.employees-management-page .employees-empty-text{font-size:var(--text-sm);color:var(--color-text-secondary)}.employees-management-page .employees-tab-panel{padding:var(--spacing-lg)}.employees-management-page .employees-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.employees-management-page .employees-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.employees-management-page .employees-alert-mb{margin-bottom:var(--spacing-lg)}.employees-management-page .employees-tabs-border{border-bottom:1px solid var(--color-divider)}.employees-management-page .employees-tab-section-header{margin-bottom:var(--spacing-md);display:flex;justify-content:space-between;align-items:center}.employees-management-page .employees-tab-section-actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.employees-management-page .employees-loading-center{display:flex;justify-content:center;padding:var(--spacing-lg)}.employees-management-page .employees-paper-section{margin-top:var(--spacing-lg)}.employees-management-page .employees-paper-section-header,.employees-management-page .employees-search-row{padding:var(--spacing-md);border-bottom:1px solid var(--color-divider)}.employees-management-page .employees-chips-wrap{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.employees-management-page .employees-form-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-md)}.employees-management-page .employees-body-mt{margin-top:var(--spacing-md)}.employees-management-page .employees-caption-mb{margin-bottom:var(--spacing-md)}.employees-management-page .employees-form-mt{margin-top:var(--spacing-md)}.employees-management-page .employees-dialog-alert{margin-bottom:var(--spacing-md)}.employees-management-page .employees-shift-site-group{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;padding:var(--spacing-xs) var(--spacing-sm);border-right:1px solid var(--color-divider)}.employees-management-page .employees-shift-site-group:last-child{border-right:none}.employees-management-page .employees-shift-site-group__title{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.employees-management-page .employees-shift-site-group__tabs{display:flex;align-items:center;gap:var(--spacing-xs);flex-wrap:wrap}.shift-substitutions-section{padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.shift-substitutions-section__title{margin:0 0 var(--spacing-md);font-size:var(--text-md)}.shift-substitutions-dialog{width:min(960px,96vw)}.shift-substitutions-dialog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-sm)}@media (max-width: 900px){.shift-substitutions-dialog-grid{grid-template-columns:1fr}}td{vertical-align:middle}td .btn--outlined{vertical-align:top}.ui-table--compact th,.ui-table--compact td{padding:var(--spacing-xs) var(--table-cell-px-compact);height:var(--table-row-height-compact);font-size:var(--text-sm)}.ui-table--sticky-header thead th{position:sticky;top:0;z-index:var(--z-sticky);background-color:var(--color-surface);box-shadow:0 1px 0 var(--color-divider)}.ui-table--striped tbody tr:nth-child(2n){background-color:var(--color-surface-3)}.ui-table tbody tr:hover td{background-color:var(--color-hover-bg)}.ui-table__empty{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);color:var(--color-text-secondary);font-size:var(--text-sm)}.ui-table__skeleton-row td{padding:var(--spacing-sm) var(--spacing-md)}.ui-table__skeleton-cell{height:16px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-3) 25%,var(--color-surface-2) 50%,var(--color-surface-3) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.superadmin-org-flex{display:flex;gap:var(--spacing-md);align-items:stretch}.superadmin-org-card{min-height:min(72vh,640px);max-height:72vh;aspect-ratio:.7;padding:var(--spacing-md);display:flex;flex-direction:column;justify-content:space-between;text-align:left;overflow:auto;position:relative;isolation:isolate}.superadmin-org-card--has-logo:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:var(--org-card-logo);background-repeat:no-repeat;background-position:center;background-size:70% auto;opacity:.08;pointer-events:none;z-index:-1;border-radius:inherit}.superadmin-org-card--has-logo>*{position:relative}.superadmin-org-card h2{margin:0 0 var(--spacing-sm)}.superadmin-org-logo{margin:0 0 var(--spacing-sm);color:var(--color-text-secondary)}.superadmin-org-content{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.superadmin-org-content p{margin:0;line-height:1.35}.superadmin-org-card--add{border:2px dashed var(--color-border);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);align-items:center;justify-content:center;text-align:center}.superadmin-org-dialog{width:min(920px,96vw);max-height:92vh;overflow:auto}.superadmin-site-form-block{border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-sm)}.superadmin-shifts-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.superadmin-logo-dialog{width:min(720px,96vw);max-height:92vh;overflow:auto}.superadmin-logo-dialog__hint{margin:0 0 var(--spacing-md)}.superadmin-logo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(120px,12vw,160px),1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.superadmin-logo-tile{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--interactive-transition);font-size:var(--text-xs);color:var(--color-text-secondary)}.superadmin-logo-tile:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}.superadmin-logo-tile:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.superadmin-logo-tile:disabled{opacity:var(--interactive-opacity-disabled);cursor:not-allowed}.superadmin-logo-tile--selected{border-color:var(--color-primary);background:var(--color-primary-soft);color:var(--color-text)}.superadmin-logo-tile__img{width:clamp(64px,6vw,96px);height:clamp(64px,6vw,96px);object-fit:contain}.superadmin-logo-tile__name{font-size:var(--text-xs);text-align:center;word-break:break-all;line-height:var(--line-height-tight)}.superadmin-logo-tile--empty{justify-content:center}.superadmin-logo-tile__empty-mark{width:clamp(64px,6vw,96px);height:clamp(64px,6vw,96px);display:flex;align-items:center;justify-content:center;font-size:var(--text-2xl);color:var(--color-text-secondary);border:1px dashed var(--color-border);border-radius:var(--radius-md)}
