@import"https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600&family=Inter:wght@300;400;500;600&family=Merriweather:ital,wght@0,300;0,400;0,700;1,400&family=Roboto+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200";.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;padding:20px}.dashboard-card{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;transition:box-shadow var(--transition-speed) ease}.dashboard-card:hover{box-shadow:0 2px 8px #00000014}.card-header{margin-bottom:16px;border-bottom:1px solid var(--border-color);padding-bottom:12px}.card-title{font-size:1.1rem;font-weight:600;color:var(--text-color);font-family:var(--font-family-serif);margin:0}.card-content{color:var(--text-secondary-color)}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.metric-item{text-align:center;padding:12px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:var(--border-radius)}.metric-value{font-size:2rem;font-weight:700;color:var(--text-color);font-family:var(--font-family-serif);margin-bottom:4px}.metric-label{font-size:.85rem;color:var(--text-secondary-color);text-transform:uppercase;letter-spacing:.5px}.quick-links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.quick-link-button{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 12px;background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);text-decoration:none;font-weight:500;transition:all var(--transition-speed) ease}.quick-link-button:hover{background-color:var(--sidebar-hover-bg);border-color:var(--input-focus-border);transform:translateY(-2px)}.quick-link-button .material-symbols-outlined{font-size:1.5rem}.dashboard-section{padding:0 20px 10px}.dashboard-section-title{font-size:1.1rem;font-weight:600;color:var(--text-color);font-family:var(--font-family-serif);margin:0 0 12px}.attention-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.attention-tile-danger{--attention-border: var(--colour-danger-border);--attention-bg: var(--colour-danger-bg);--attention-accent: var(--colour-danger)}.attention-tile-warning{--attention-border: var(--colour-warning-border);--attention-bg: var(--colour-warning-bg);--attention-accent: var(--colour-warning)}.attention-tile-info{--attention-border: var(--colour-info-border);--attention-bg: var(--colour-info-bg);--attention-accent: var(--colour-info)}.attention-tile{display:flex;align-items:center;gap:12px;width:100%;padding:14px 18px;background-color:var(--attention-bg);border:1px solid var(--attention-border);border-radius:var(--border-radius);text-align:left;font-family:inherit;cursor:default}.attention-tile-clickable{cursor:pointer}.attention-tile-clickable:hover{box-shadow:0 2px 8px #0000001f}.attention-tile-icon{flex:0 0 auto;color:var(--attention-accent);font-size:1.5rem}.attention-tile-text{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.attention-tile-label{font-size:.95rem;font-weight:700;color:var(--text-color);line-height:1.2}.attention-tile-caption{font-size:.8rem;color:var(--text-secondary-color);margin-top:2px}.attention-tile-chevron{flex:0 0 auto;color:var(--text-secondary-color);font-size:1.5rem}.popover-wrapper{position:relative}.attention-popover{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 8px 24px #0000002e;display:flex;flex-direction:column;overflow:hidden}.attention-detail-loading{padding:12px 16px;font-size:.85rem;color:var(--text-secondary-color)}.attention-detail-list{list-style:none;margin:0;padding:0}.attention-detail-list li{border-bottom:1px solid var(--border-color)}.attention-detail-list li:last-child{border-bottom:none}.attention-detail-link{display:flex;flex-direction:column;gap:2px;padding:10px 16px;text-decoration:none;color:var(--text-color);transition:background-color var(--transition-speed) ease}.attention-detail-link:hover{background-color:var(--bg-color)}.attention-detail-line1{font-size:.9rem;font-weight:600;color:var(--text-color)}.attention-detail-line2{font-size:.8rem;color:var(--text-secondary-color)}.attention-detail-view-all{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;border-top:1px solid var(--border-color);text-decoration:none;font-size:.85rem;font-weight:600;color:var(--attention-accent);transition:background-color var(--transition-speed) ease}.attention-detail-view-all:hover{background-color:var(--bg-color)}.attention-detail-view-all .material-symbols-outlined{font-size:1rem}.chart-container{padding:16px 0}.full-width-card{grid-column:1 / -1}.loading-message,.error-message{text-align:center;padding:20px;color:var(--text-secondary-color)}.error-message{color:var(--error-text)}.welcome-inline{background-color:var(--panel-bg);border:1px solid var(--border-color);border-left:4px solid var(--gradient-start);padding:20px;margin:0 20px 20px;border-radius:var(--border-radius);display:flex;align-items:center;gap:16px}.welcome-avatar{width:48px;height:48px;border-radius:50%;border:3px solid var(--input-focus-border);background:var(--border-color);flex-shrink:0}.welcome-avatar-placeholder{display:flex;align-items:center;justify-content:center;background-color:var(--bg-color);color:var(--text-secondary-color)}.welcome-avatar-placeholder .material-symbols-outlined{font-size:1.5rem}.welcome-text-left{flex:1}.welcome-greeting{font-size:1.3rem;font-weight:600;color:var(--text-color);font-family:var(--font-family-serif);margin:0 0 4px}.welcome-time{font-size:.85rem;color:var(--text-secondary-color);margin:0 0 8px}.welcome-links-inline{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.85rem}.welcome-links-inline .separator{color:var(--text-secondary-color);opacity:.5}.welcome-link-inline{color:var(--input-focus-border);text-decoration:none;font-weight:500;transition:all var(--transition-speed) ease;padding:2px 0;border-bottom:1px solid transparent}.welcome-link-inline:hover{color:var(--gradient-start);border-bottom-color:var(--gradient-start)}#authors-view-wrapper.drill-down-target{flex:none;max-height:70vh;background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow-y:auto}.view-wrapper{flex:1;overflow-y:auto;background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:0}.author-view{padding:32px;margin:0 auto}.author-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid var(--border-color)}.author-avatar-section{display:flex;gap:24px;align-items:center}.author-avatar{width:100px;height:100px;border-radius:50%;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:#fff;box-shadow:0 4px 12px #20374c4d;flex-shrink:0}.author-header-info{flex:1}.author-name{font-size:2rem;font-weight:700;color:var(--text-color);font-family:var(--font-family-serif);margin:0 0 8px;line-height:1.2}.author-pen-name{font-size:1rem;color:var(--text-secondary-color);font-style:italic;margin:0 0 12px}.author-genres{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.genre-badge{background-color:var(--input-bg);border:1px solid var(--input-border);color:var(--sidebar-active-text);padding:6px 14px;border-radius:20px;font-size:.85rem;font-weight:500;transition:all var(--transition-speed) ease}.genre-badge:hover{background-color:var(--sidebar-active-bg);border-color:var(--sidebar-active-text);transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.author-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:32px}.stat-card{background:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:20px;display:flex;align-items:center;gap:16px;transition:all var(--transition-speed) ease;cursor:default}.stat-card:hover{border-color:var(--input-focus-border);box-shadow:0 2px 8px #00000014;transform:translateY(-2px)}.stat-icon{font-size:2.5rem!important;color:var(--gradient-start);flex-shrink:0}.stat-content{flex:1}.stat-value{font-size:1.8rem;font-weight:700;color:var(--text-color);font-family:var(--font-family-serif);line-height:1;margin-bottom:4px}.stat-label{font-size:.85rem;color:var(--text-secondary-color);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.author-section{margin-bottom:32px}.section-title{font-size:1.2rem;font-weight:600;color:var(--text-color);font-family:var(--font-family-serif);margin-bottom:16px;display:flex;align-items:center;gap:10px}.section-title .material-symbols-outlined{color:var(--gradient-start);font-size:1.5rem}.author-bio{font-size:1rem;line-height:1.8;color:var(--text-secondary-color);background-color:var(--input-bg);padding:20px;border-radius:var(--border-radius);border-left:4px solid var(--gradient-start);margin-bottom:16px}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.contact-item{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:16px;display:flex;align-items:flex-start;gap:12px;transition:all var(--transition-speed) ease}.contact-item:hover{border-color:var(--input-focus-border);box-shadow:0 2px 8px #0000000f}.contact-item .material-symbols-outlined{color:var(--gradient-start);font-size:1.5rem;margin-top:2px}.contact-label{font-size:.75rem;color:var(--text-secondary-color);text-transform:uppercase;letter-spacing:.5px;font-weight:600;margin-bottom:4px}.contact-value{font-size:.95rem;color:var(--text-color);font-weight:500}.books-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.book-card{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden;transition:all var(--transition-speed) ease;cursor:pointer}.book-card:hover{border-color:var(--input-focus-border);box-shadow:0 4px 12px #0000001a;transform:translateY(-4px)}.book-cover{aspect-ratio:2/3;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;position:relative}.book-cover img{width:100%;height:100%;object-fit:cover}.book-cover .material-symbols-outlined{font-size:4rem;color:#ffffffe6}.book-info{padding:16px}.book-title{font-size:1rem;font-weight:600;color:var(--text-color);font-family:var(--font-family-serif);margin-bottom:6px;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.book-year{font-size:.85rem;color:var(--text-secondary-color);margin-bottom:10px}.book-stats-row{display:flex;gap:12px;font-size:.85rem;color:var(--text-secondary-color)}.book-stat{display:flex;align-items:center;gap:4px}.book-stat .material-symbols-outlined{font-size:1rem;color:var(--gradient-start)}.social-links{display:flex;flex-wrap:wrap;gap:12px}.social-link{background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:12px 18px;display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--text-color);font-size:.95rem;font-weight:500;transition:all var(--transition-speed) ease}.social-link:hover{background-color:var(--sidebar-active-bg);border-color:var(--sidebar-active-text);color:var(--sidebar-active-text);transform:translateY(-2px);box-shadow:0 2px 8px #00000014}.social-link .material-symbols-outlined{color:var(--gradient-start);font-size:1.3rem}.author-view-footer{margin-top:32px;padding-top:20px;border-top:1px solid var(--border-color);display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--text-secondary-color);font-style:italic}.author-view-footer .material-symbols-outlined{font-size:1.1rem;color:var(--text-secondary-color)}.author-header-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px}@media(max-width:991.98px){.author-view{padding:20px}.author-avatar{width:80px;height:80px;font-size:2rem}.author-name{font-size:1.5rem}.author-stats-grid{grid-template-columns:repeat(2,1fr)}.books-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.contact-grid{grid-template-columns:1fr}#authors-view-wrapper.drill-down-target{max-height:60vh}}.control-highlight-error{border:2px solid var(--colour-danger-border)!important;background-color:var(--colour-danger-bg)!important}.control-highlight-warning{border:2px solid var(--colour-warning-border)!important;background-color:var(--colour-warning-bg)!important}.control-highlight-info{border:2px solid var(--colour-info-border)!important;background-color:var(--colour-info-bg)!important}.control-highlight-success{border:2px solid var(--colour-success-border)!important;background-color:var(--colour-success-bg)!important}.control-highlight-error option,.control-highlight-warning option,.control-highlight-info option,.control-highlight-success option{background-color:var(--input-bg)!important;color:var(--text-color)!important}.control-wrapper{display:flex;align-items:center;gap:.5rem;width:100%}.control-icon-wrapper{display:flex;align-items:center;flex-shrink:0;pointer-events:none}.control-icon-wrapper .material-symbols-outlined{font-size:1.25rem}.control-wrapper input,.control-wrapper select,.control-wrapper textarea{flex:1}.form-group-textarea .control-wrapper{align-items:flex-start}.form-group-textarea .control-icon-wrapper{margin-top:.5rem}.form-group-checkbox .control-icon-wrapper{order:2}.control-notice{font-size:.875rem;margin-top:.375rem;line-height:1.4;display:block}.control-notice>div{margin-bottom:.25rem}.control-notice>div:last-child{margin-bottom:0}.control-notice.notice-error{color:var(--colour-danger)}.control-notice.notice-warning{color:var(--colour-warning)}.control-notice.notice-info{color:var(--colour-info)}.control-notice.notice-success{color:var(--colour-success)}.control-wrapper input:focus,.control-wrapper select:focus,.control-wrapper textarea:focus{outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}@media(max-width:640px){.control-icon-wrapper .material-symbols-outlined{font-size:1.125rem}.control-wrapper{gap:.375rem}.control-notice{font-size:.8125rem}}.cell-composite{display:flex;align-items:center;gap:12px;min-width:0}.cell-composite-avatar{width:36px;height:36px;border-radius:50%;background-color:var(--sidebar-active-bg);color:var(--text-secondary-color);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.cell-composite-avatar img{width:100%;height:100%;object-fit:cover}.cell-composite-avatar .material-symbols-outlined{font-size:20px}.cell-composite-text{display:flex;flex-direction:column;min-width:0}.cell-composite-primary{font-weight:500;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-composite-secondary{font-size:.8125rem;font-weight:400;color:var(--text-secondary-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.8125rem;font-weight:500;line-height:1.2;white-space:nowrap}.cell-badge-success{color:var(--colour-success);background-color:var(--colour-success-bg);border:1px solid var(--colour-success-border)}.cell-badge-warning{color:var(--colour-warning);background-color:var(--colour-warning-bg);border:1px solid var(--colour-warning-border)}.cell-badge-info{color:var(--colour-info);background-color:var(--colour-info-bg);border:1px solid var(--colour-info-border)}.cell-badge-danger{color:var(--colour-danger);background-color:var(--colour-danger-bg);border:1px solid var(--colour-danger-border)}.cell-badge-muted{color:var(--colour-muted);background-color:var(--sidebar-active-bg);border:1px solid var(--border-color)}.cell-badge-accent{color:#fff;background-color:var(--colour-accent);border:1px solid var(--colour-accent)}.form-table td.cell-primary{font-size:1.0625rem;font-weight:600}.form-table td.cell-primary .cell-composite-primary{font-weight:700}:root{--font-family-sans: "Inter", sans-serif;--font-family-serif: "Merriweather", serif;--font-family-display: "Cinzel", serif;--font-family-mono: "Roboto Mono", monospace;--sidebar-width-expanded: 240px;--sidebar-width-collapsed: 65px;--header-height: 60px;--transition-speed: .2s;--border-radius: 2px;--bg-color: #fcfaf8;--text-color: #1a1a1a;--text-secondary-color: #404040;--border-color: #e6e0db;--panel-bg: #ffffff;--sidebar-bg: #ffffff;--sidebar-text: #6b7280;--sidebar-icon-color: #9ca3af;--sidebar-hover-bg: #fcfaf8;--sidebar-active-bg: #f5f2ef;--sidebar-active-text: #1a1a1a;--sidebar-active-icon-color: #20374c;--input-bg: #ffffff;--input-border: #d5ccc4;--input-border-radius: 2px;--input-focus-border: #20374c;--input-focus-shadow: rgba(32, 55, 76, .12);--input-readonly-bg: #f5f2ef;--input-readonly-text: #404040;--button-bg: #20374c;--button-hover-bg: #274058;--button-text: #ffffff;--icon-button-text: #404040;--icon-button-hover-bg: #f5f2ef;--icon-button-hover-text: #20374c;--link-color: #20374c;--gradient-start: #205d6d;--gradient-end: #20374c;--editor-title-color: #404040;--scrollbar-thumb-bg: #d5ccc4;--scrollbar-track-bg: #f5f2ef;--tooltip-bg: #1a1a1a;--tooltip-text: #ffffff;--loading-text-color: #6b7280;--cm-bg: #ffffff;--cm-border: #e6e0db;--error-bg: #f9f4f2;--error-border: #9c412e;--error-text: #9c412e;--overlay-bg: rgba(0, 0, 0, .5);--editor-container-border: #e6e0db;--color-accent: #20374c;--color-accent-hover: #1a2d3e;--series-1: #8ab4f8;--series-2: #f8d48a;--series-3: #b4a0d6;--series-4: #f0a899;--series-5: #8cc5b2;--series-6: #c4a882;--series-7: #7bafd4;--series-8: #d4b87b;--series-9: #a3b5c8;--series-10: #c8937a;--series-11: #96b89c;--series-12: #b8a0b8;--colour-danger: #9c412e;--colour-danger-border: #f88a8a;--colour-danger-bg: #f9f4f2;--colour-warning: #92650d;--colour-warning-border: #f4b942;--colour-warning-bg: #fef9f0;--colour-info: #1a5276;--colour-info-border: #5b9bd5;--colour-info-bg: #f2f7fc;--colour-success: #2e5c48;--colour-success-border: #81c995;--colour-success-bg: #f5fbf7;--colour-accent: #20374c;--colour-muted: #9aa0a6;--chart-text: #404040;--chart-grid: #e6e0db;--chart-tooltip-bg: #20374c;--chart-tooltip-text: #ffffff;--chart-tooltip-body: #e6e0db;--chart-tooltip-border: #205d6d;--chart-legend-text: #1a1a1a}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{font-family:var(--font-family-sans);background-color:transparent;color:var(--text-color);line-height:1.6;font-size:15px}.app-layout{display:flex;height:100vh;background-color:var(--bg-color);position:relative;overflow:hidden}.header-container{display:flex;justify-content:space-between;align-items:center;width:100%;padding:10px 0}.profile-container{display:flex;align-items:center;gap:10px}.profile-link{display:flex;align-items:center;text-decoration:none;color:inherit;transition:color var(--transition-speed) ease}.profile-link:hover{color:var(--link-color)}.profile-image{width:40px;height:40px;border-radius:50%;background-color:#ddd}.profile-name{font-weight:500;color:var(--text-color);font-size:1rem;line-height:1;padding:0 5px}.profile-name:hover{color:var(--link-color);text-decoration:underline}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:1.25rem;vertical-align:middle;line-height:1}.sidebar{width:var(--sidebar-width-expanded);background-color:var(--sidebar-bg);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width var(--transition-speed) ease;position:relative;flex-shrink:0;z-index:10}.sidebar.collapsed{width:var(--sidebar-width-collapsed)}.sidebar-header{display:flex;align-items:center;justify-content:flex-start;padding:20px 16px;flex-shrink:0;gap:10px;border-bottom:1px solid var(--border-color);cursor:pointer;transition:background-color var(--transition-speed) ease}.sidebar-header:hover{background-color:var(--sidebar-hover-bg)}.sidebar-logo{width:36px;height:36px;flex-shrink:0}.sidebar-brand{font-size:1.25rem;color:#20374c;text-transform:uppercase;font-weight:400;letter-spacing:.02em;white-space:nowrap;overflow:hidden}.sidebar-brand strong{font-weight:900}.sidebar.collapsed .sidebar-brand{opacity:0;width:0;display:none}.sidebar.collapsed .sidebar-header{justify-content:center;padding:16px 8px}.toggle-btn{background:none;border:none;color:var(--sidebar-icon-color);font-size:1.1rem;cursor:pointer;padding:8px;line-height:1;border-radius:50%;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.toggle-btn:hover{background-color:var(--sidebar-hover-bg);color:var(--text-color)}.desktop-toggle-btn,.mobile-toggle-btn{display:none}.sidebar-main-title{font-size:1rem;font-weight:600;color:var(--text-color);font-family:var(--font-family-display);letter-spacing:.02em;white-space:nowrap;overflow:hidden;flex-grow:1;display:none}.sidebar-main-title .gradient-text{color:var(--text-color);font-weight:600}.tenant-list-title{font-size:.75rem;font-weight:600;color:var(--text-secondary-color);padding:16px 22px 4px;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;overflow:hidden;transition:opacity var(--transition-speed) ease}.sidebar.collapsed .tenant-list-title{opacity:0;height:0;padding:0;margin:0;overflow:hidden}.tenant-list{list-style:none;flex-grow:1;overflow-y:auto;padding:0}.tenant-list li a{display:flex;align-items:center;padding:10px 22px;margin:0;color:var(--sidebar-text);text-decoration:none;white-space:nowrap;overflow:hidden;border-radius:0;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease;position:relative}.tenant-list li a .material-symbols-outlined{margin-right:18px;font-size:1.1rem;width:20px;text-align:center;flex-shrink:0;color:var(--sidebar-icon-color);transition:color var(--transition-speed) ease}.tenant-list li a span:not(.material-symbols-outlined){transition:opacity var(--transition-speed) ease;opacity:1;font-size:.9rem}.sidebar.collapsed .tenant-list li a{margin:0;padding:10px 22px;justify-content:center}.sidebar.collapsed .tenant-list li a span:not(.material-symbols-outlined){opacity:0;width:0;display:none}.sidebar.collapsed .tenant-list li a .material-symbols-outlined{margin-right:0}.tenant-list li a:hover{background-color:var(--sidebar-hover-bg);color:var(--text-color)}.tenant-list li a.active{background-color:var(--sidebar-active-bg);color:var(--sidebar-active-text);font-weight:500;border-left:4px solid var(--sidebar-active-icon-color);border-radius:0}.tenant-list li a.active .material-symbols-outlined{color:var(--sidebar-active-icon-color)}.sidebar.collapsed .tenant-list li a:after{content:attr(title);position:absolute;left:calc(var(--sidebar-width-collapsed) + 5px);top:50%;transform:translateY(-50%);background-color:var(--tooltip-bg);color:var(--tooltip-text);padding:4px 8px;border-radius:4px;font-size:.8rem;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity var(--transition-speed) ease,visibility var(--transition-speed) ease;pointer-events:none;z-index:100}.sidebar.collapsed .tenant-list li a:hover:after{opacity:1;visibility:visible;transition-delay:.3s}.main-column{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.main-content{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background-color:var(--bg-color);position:relative}.page-title{font-size:1.25rem;font-weight:500;color:var(--text-color);font-family:var(--font-family-serif);margin-left:5px}.page-title .gradient-text{color:var(--text-color);font-weight:600}.content-split{display:flex;flex-grow:1;overflow:hidden;padding:0 16px 16px;gap:16px}.form-wrapper{display:flex;flex-direction:column;overflow:hidden;min-height:0}@keyframes formFadeSlideIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.form-animate-in{animation:formFadeSlideIn .2s ease-out}.form-loading-placeholder{padding:20px;display:flex;flex-direction:column;gap:16px;animation:placeholderGrow .25s ease-out}.loading-placeholder-text{color:var(--text-secondary-color);font-style:italic;margin:0 0 4px;font-size:.9rem}.shimmer-line{height:14px;background:linear-gradient(90deg,var(--border-color) 0%,#f5f2ef 50%,var(--border-color) 100%);background-size:200% 100%;border-radius:var(--border-radius);animation:shimmer 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes placeholderGrow{0%{opacity:0;transform:scaleY(.8);transform-origin:top}to{opacity:1;transform:scaleY(1)}}.panel{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:hidden}.panel-content{padding:0}.form-panel{width:33.33%;display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition-speed) ease;border:1px solid var(--border-color);border-radius:var(--border-radius)}.editor-panel{width:66.67%;display:flex;flex-direction:column;overflow:hidden;transition:width var(--transition-speed) ease,opacity var(--transition-speed) ease}.form-panel .panel-header,.panel-header{padding:10px 16px;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;min-height:50px;background-color:var(--panel-bg);border-radius:var(--border-radius) var(--border-radius) 0 0}.panel-title{font-size:1.1rem;font-weight:600;color:var(--text-color);font-family:var(--font-family-serif);margin:0}.panel-title-icon{vertical-align:middle;margin-right:6px;font-size:1.3em;color:var(--gradient-start)}.panel-heading{display:flex;flex-direction:column;gap:2px;min-width:0}.panel-subtitle{margin:0;font-size:.875rem;color:var(--text-secondary-color)}.panel-actions{display:flex;align-items:center;gap:.5rem;margin-left:auto}.primary-action-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-accent);color:#fff;border:1px solid var(--color-accent);border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.primary-action-btn:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.primary-action-btn .material-symbols-outlined{font-size:1.125rem}.app-selector label{margin-right:8px;font-size:.85rem;font-weight:500;color:var(--text-secondary-color)}.app-selector select,.form-container .form-group select{min-width:120px;padding:6px 10px;border:1px solid var(--input-border);border-radius:var(--input-border-radius);background-color:var(--input-bg);color:var(--text-color);font-size:.9rem;transition:border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease;outline:none;appearance:revert;-webkit-appearance:revert;-moz-appearance:revert;background-image:none;mask-image:none;-webkit-mask-image:none;cursor:pointer}.app-selector select:focus,.form-container .form-group select:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 2px var(--input-focus-shadow)}.form-container{flex-grow:1;padding:24px;overflow-y:auto}.form-container.scrollable{max-height:100%;height:100%}.form-container .error{background-color:var(--error-bg);border:1px solid var(--error-border);color:var(--error-text);padding:12px 16px;border-radius:var(--border-radius);margin-bottom:1.5rem;font-size:.9rem}.form-container .error p{margin:0;padding:0;line-height:1.4}.form-container .error strong{color:var(--error-border);margin-right:5px}.form-container .error ul{margin:.5rem 0 .5rem 1.5rem;padding:0;list-style-type:disc}.form-container .error li{margin:.25rem 0;line-height:1.4}.integrated-editor-container{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--editor-container-border);border-radius:var(--border-radius);background-color:transparent}.code-toolbar{padding:10px 16px;border-bottom:1px solid var(--editor-container-border);display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:50px;background-color:transparent;justify-content:flex-end}.filename-label{font-size:.85rem;font-weight:500;color:var(--text-secondary-color);margin-right:4px;white-space:nowrap}.filename-input{flex-grow:1;margin-right:10px;padding:6px 10px;border:1px solid var(--input-border);border-radius:var(--input-border-radius);background-color:var(--input-bg);color:var(--text-color);font-size:.9rem;transition:border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease;outline:none}.filename-input:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 2px var(--input-focus-shadow)}.icon-button{background:transparent;border:none;color:var(--icon-button-text);font-size:1.1rem;padding:6px;cursor:pointer;border-radius:50%;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease;line-height:1;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.icon-button .material-symbols-outlined{font-size:1.2rem}.icon-button:hover{background-color:var(--icon-button-hover-bg);color:var(--icon-button-hover-text)}.form-action-button{background:transparent;border:1px solid var(--input-border);color:var(--icon-button-text);font-size:.9rem;padding:8px 16px;cursor:pointer;border-radius:var(--input-border-radius);transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease,border-color var(--transition-speed) ease;line-height:1.4;display:inline-flex;align-items:center;justify-content:center;gap:8px;margin-top:.5rem;margin-bottom:1.25rem;font-family:var(--font-family-sans);font-weight:500}.form-action-button .material-symbols-outlined{font-size:1.1rem}.form-action-button:hover{background-color:var(--icon-button-hover-bg);color:var(--icon-button-hover-text);border-color:var(--input-focus-border)}.form-action-button:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 2px var(--input-focus-shadow)}.editor-output-split{flex-grow:1;display:flex;flex-direction:column;overflow:hidden;padding:0;gap:0}.code-editor-area,.output-area{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.editor-area-title{font-size:.8rem;font-weight:600;color:var(--editor-title-color);padding:10px 16px;display:block;flex-shrink:0;text-transform:uppercase;letter-spacing:.5px;background-color:transparent;border-bottom:1px solid var(--editor-container-border)}.output-area .editor-area-title{border-top:1px solid var(--editor-container-border)}.CodeMirror{flex-grow:1!important;height:100%!important;border:none;font-family:var(--font-family-mono);font-size:.85rem;background:var(--cm-bg);color:var(--text-color);border-radius:0 0 var(--border-radius) var(--border-radius)}.code-editor-area .CodeMirror{border-radius:0}.CodeMirror-scroll{min-height:100px;background-color:var(--cm-bg)}.CodeMirror-gutters{background-color:var(--cm-bg)!important;border-right:1px solid var(--cm-border)!important}.cm-s-monokai.CodeMirror{background-color:var(--cm-bg);color:var(--text-color)}.cm-s-monokai .CodeMirror-gutters{background:var(--cm-bg);border-right:1px solid var(--cm-border)}.cm-s-monokai .CodeMirror-guttermarker,.cm-s-monokai .CodeMirror-guttermarker-subtle,.cm-s-monokai .CodeMirror-linenumber{color:var(--text-secondary-color)}.cm-s-monokai .CodeMirror-cursor{border-left:1px solid var(--text-color)!important}.form-container form{border:none;padding:0;margin:0;max-width:none;box-shadow:none;background-color:transparent}.form-container fieldset{border:1px solid var(--border-color);padding:1rem 1.5rem 1.5rem;margin-bottom:1.5rem;border-radius:var(--border-radius)}.form-container legend{font-weight:600;padding:0 .5rem;color:var(--text-color);font-size:1rem}.form-container .form-group{margin-bottom:1.25rem}.form-container .form-group label:not(.radio-option label):not(.form-group-checkbox label),.form-container .form-group .group-label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.85rem;color:var(--text-secondary-color)}.form-container .form-group input[type=text],.form-container .form-group input[type=file],.form-container .form-group input[type=number],.form-container .form-group input[type=email],.form-container .form-group input[type=password],.form-container .form-group input[type=date],.form-container .form-group select,.form-container .form-group textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--input-border);border-radius:var(--input-border-radius);box-sizing:border-box;font-size:.95rem;color:var(--text-color);background-color:var(--input-bg);transition:border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease;outline:none}.form-container .form-group select{padding:.6rem .8rem}.form-container .form-group input:focus,.form-container .form-group select:focus,.form-container .form-group textarea:focus{border-color:var(--input-focus-border);box-shadow:0 0 0 2px var(--input-focus-shadow)}.form-container .form-group input[readonly]{background-color:var(--input-readonly-bg);color:var(--input-readonly-text);border-color:transparent;cursor:default}.form-container .form-group input[readonly]:focus{border-color:transparent;box-shadow:none}.form-container .form-group-checkbox label,.form-container .form-group-radio .radio-option label{display:flex;align-items:center;font-weight:400;font-size:.95rem;color:var(--text-color);cursor:pointer;padding:4px 0}.form-container .form-group-checkbox input[type=checkbox],.form-container .form-group-radio input[type=radio]{margin-right:.75rem;width:1.1em;height:1.1em;flex-shrink:0;accent-color:var(--button-bg);cursor:pointer}.form-container .form-group-checkbox input[type=checkbox]:focus,.form-container .form-group-radio input[type=radio]:focus{box-shadow:0 0 0 3px var(--input-focus-shadow);outline:none}.form-container .form-group-radio .radio-option{margin-bottom:.1rem}.form-container .form-group-radio .radio-option:last-child{margin-bottom:0}.form-container .form-group-star-rating{margin-bottom:1rem}.form-container .form-group-star-rating .group-label{margin-bottom:.5rem}.form-container .form-group-star-rating .stars-input-container{display:flex;gap:.15rem;align-items:center}.form-container .form-group-star-rating span{font-size:1.6rem;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--input-border);transition:color .1s ease-in-out}.record-table-search{display:flex;align-items:center;padding-left:.8rem;border-bottom:1px solid var(--border-color)}.record-table-search .search-icon{color:var(--text-muted);font-size:1.2rem;margin-right:.5rem}.record-table-search .search-input{flex:1;padding:.6rem .8rem .6rem 0;border:none;border-radius:0;background-color:transparent;color:var(--text-color);font-size:.95rem;outline:none}.record-table-search .search-input:focus{outline:none}table{border-collapse:collapse;width:100%;margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:var(--border-radius);overflow:visible;background-color:var(--panel-bg)}.panel table,.panel .form-table{border:none;border-radius:0;margin-bottom:0;margin-top:0}thead{background-color:var(--bg-color);color:var(--text-secondary-color)}.table-scroll-wrapper thead{position:sticky;top:-1px;z-index:10}.table-scroll-wrapper th{background-color:var(--bg-color)}th{padding:8px 10px;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--border-color)}td{padding:6px 10px;border-bottom:1px solid var(--border-color);font-size:.875rem}tr:last-child td{border-bottom:none}tr:nth-child(2n){background-color:var(--bg-color)}tr:hover{background-color:var(--sidebar-hover-bg)}.form-table{margin-top:.5rem;margin-bottom:1.5rem;table-layout:fixed;width:100%}.form-table td:not(.actions-cell){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.form-table .actions-cell{text-align:center;white-space:nowrap;position:relative}.table-scroll-wrapper{overflow-x:auto;position:relative}.table-scroll-wrapper table{margin-top:0;border-top:none}.table-scroll-wrapper thead{border-top:1px solid var(--border-color)}.meeting-notes{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);padding:24px;margin-bottom:1.5rem;overflow-y:auto;max-height:500px;display:flex;flex-direction:column;gap:18px}.meeting-note{background-color:transparent;border:1px solid var(--border-color);border-radius:var(--border-radius);padding:18px 20px;display:flex;flex-direction:column;gap:10px;transition:border-color var(--transition-speed) ease,box-shadow var(--transition-speed) ease;box-shadow:none;position:relative}.meeting-note:hover{border-color:var(--input-focus-border);box-shadow:0 2px 8px #0000000f}.meeting-note .company-name{font-weight:600;font-size:1.05rem;color:var(--text-color);margin-bottom:2px;display:flex;align-items:center;gap:10px}.note-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.note-company-name-left{font-weight:600;color:var(--text-color);font-size:1.05rem}.note-last-updated-right{color:var(--text-secondary-color);font-size:.92rem;font-style:italic;white-space:nowrap}.meeting-note .note-contacts .contact-circle{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;box-shadow:0 1px 4px #0000001a;margin-right:4px;border:2px solid var(--panel-bg);overflow:hidden;transition:box-shadow .18s,border-color .18s}.note-contacts{display:flex;gap:.5rem;margin-bottom:1rem}.meeting-note .note-content{color:var(--text-secondary-color);font-size:.97rem;border-left:4px solid var(--gradient-start);padding:1rem;line-height:1.6;margin-bottom:4px;white-space:pre-line}.meeting-note .note-meta{display:flex;align-items:center;justify-content:space-between;font-size:.85rem;color:var(--text-secondary-color);margin-top:2px}.meeting-note .last-updated{font-style:italic}.meeting-note .actions{display:flex;align-items:center;gap:8px}.view-note-btn.icon-button{color:var(--icon-button-text);background:transparent;border:none;padding:6px;border-radius:50%;transition:background-color var(--transition-speed) ease,color var(--transition-speed) ease;font-size:1.1rem;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center}.view-note-btn.icon-button .material-symbols-outlined{font-size:1.2rem}.view-note-btn.icon-button:hover{background-color:var(--icon-button-hover-bg);color:var(--icon-button-hover-text)}@media(max-width:991.98px){.meeting-notes{padding:12px;max-height:300px}.meeting-note{padding:12px}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--scrollbar-track-bg)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb-bg);border-radius:5px;border:2px solid var(--scrollbar-track-bg)}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary-color)}.overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--overlay-bg);opacity:0;visibility:hidden;transition:opacity var(--transition-speed) ease,visibility var(--transition-speed) ease;z-index:999}.overlay.active{opacity:1;visibility:visible}.progress-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1000;max-width:700px;width:90%;max-height:80vh;overflow-y:auto}.progress-modal .panel{margin:0}.progress-modal .panel-content{max-height:60vh;overflow-y:auto}.action-dropdown-menu{background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);box-shadow:0 4px 12px #0000001a;position:fixed;min-width:150px;margin:0;padding:0;transform:translate(-100%)}.action-dropdown-menu:popover-open{display:block}.action-dropdown-item{background-color:var(--panel-bg);color:var(--text-color);padding:8px 12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:background-color .2s}.action-dropdown-item .material-symbols-outlined{font-size:18px}.action-dropdown-item:hover{background-color:var(--sidebar-hover-bg)}.action-dropdown-item:first-child{border-radius:8px 8px 0 0}.action-dropdown-item:last-child{border-radius:0 0 8px 8px}.action-dropdown-item:only-child{border-radius:8px}@media(max-width:991.98px){.content-split{flex-direction:column;margin:8px;gap:8px;border-radius:var(--border-radius);border:1px solid var(--border-color);padding:0}.editor-panel{display:none}.form-panel{width:100%;border-right:none;border:none;border-radius:0}.form-panel .panel-header{border-radius:0}.sidebar{position:fixed;height:100%;top:0;left:calc(-1 * var(--sidebar-width-expanded));width:var(--sidebar-width-expanded);z-index:1000;transition:left var(--transition-speed) ease;box-shadow:2px 0 5px #0003}.sidebar.collapsed{width:var(--sidebar-width-expanded)}.sidebar.sidebar-visible-mobile{left:0}.desktop-toggle-btn{display:none}.mobile-toggle-btn{display:inline-flex;margin-inline-end:auto}.main-column{width:100%}.main-content{width:100%;transition:none}.form-container{padding:16px}.sidebar.sidebar-visible-mobile .sidebar-brand{opacity:1;width:auto;display:inline}.sidebar.sidebar-visible-mobile .sidebar-header{justify-content:flex-start;padding:16px}.sidebar.sidebar-visible-mobile .tenant-list li a span:not(.material-symbols-outlined){opacity:1;display:inline}.sidebar.sidebar-visible-mobile .tenant-list li a{justify-content:flex-start;padding:8px 22px}.sidebar.sidebar-visible-mobile .tenant-list li a .material-symbols-outlined{margin-right:18px}}.progress-bar-container{width:100%;height:24px;background-color:var(--border-color);border-radius:var(--border-radius);overflow:hidden;margin-bottom:8px}.progress-bar{height:100%;background:linear-gradient(90deg,var(--gradient-end),var(--gradient-start));transition:width .3s ease}.progress-log{max-height:300px;overflow-y:auto;font-family:var(--font-family-mono);font-size:12px;background-color:var(--bg-color);padding:8px;border-radius:var(--border-radius);margin-top:8px}.log-entry{padding:2px 0}.log-info{color:#1a1a1a}.log-warning{color:#ff9800;font-weight:500}.log-error{color:#f44336;font-weight:500}.status-ok{color:#2e5c48}.status-outdated,.status-warning{color:#92650d}.status-needs-update{color:#1a5276}.rectify-btn,.rectify-btn-disabled{padding:6px 12px;border:1px solid var(--input-border);border-radius:6px;background-color:var(--button-bg);color:var(--button-text);font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.rectify-btn:hover{background-color:var(--button-hover-bg);transform:translateY(-1px);box-shadow:0 2px 4px #0003}.rectify-btn:active{transform:translateY(0)}.rectify-btn-disabled{background-color:var(--input-bg);color:var(--text-secondary-color);cursor:not-allowed;opacity:.6}.rectify-btn-disabled:hover{background-color:var(--input-bg);transform:none;box-shadow:none}.spinning{animation:spin 1s linear infinite}.update-schema-btn{padding:10px 20px;border:1px solid var(--input-border);border-radius:8px;background-color:var(--button-bg);color:var(--button-text);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.update-schema-btn:hover{background-color:var(--button-hover-bg);transform:translateY(-1px);box-shadow:0 2px 8px #20374c4d}.update-schema-btn:active{transform:translateY(0)}.update-schema-btn:disabled{background-color:var(--input-bg);color:var(--text-secondary-color);cursor:not-allowed;opacity:.6}.update-schema-btn .material-symbols-outlined{font-size:1.2rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-group-image-upload{margin-bottom:20px}.form-group-image-upload label{display:block;margin-bottom:8px;color:var(--text-color);font-weight:500}.image-upload-dropzone{position:relative;width:100%;min-height:200px;border:2px dashed var(--input-border);border-radius:var(--input-border-radius);background-color:var(--input-bg);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;overflow:hidden}.image-upload-dropzone:hover{border-color:var(--input-focus-border);background-color:#20374c0d}.image-upload-dropzone:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-shadow)}.image-upload-dropzone.dragover{border-color:var(--input-focus-border);background-color:#20374c14;transform:scale(1.02)}.image-upload-dropzone.has-image{min-height:300px;border-style:solid;border-color:var(--border-color)}.image-upload-dropzone.has-image:hover{border-color:var(--input-border)}.image-upload-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;-webkit-user-select:none;user-select:none}.image-upload-prompt .material-icons{margin-bottom:12px}.image-upload-preview{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:20px}.image-upload-preview img{max-width:100%;max-height:400px;object-fit:contain;border-radius:var(--border-radius);box-shadow:0 2px 8px #0000001a}.image-upload-remove{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;border-radius:50%;background-color:#0009;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.image-upload-remove:hover{background-color:#f88a8ae6;transform:scale(1.1)}.image-upload-remove .material-icons{font-size:20px}.form-group-file-upload{margin-bottom:20px}.form-group-file-upload>label{display:block;margin-bottom:8px;color:var(--text-color);font-weight:500}.file-upload-hidden-input{display:none}.file-upload-dropzone{position:relative;width:100%;min-height:180px;border:2px dashed var(--input-border);border-radius:var(--input-border-radius);background-color:var(--input-bg);cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;overflow:hidden}.file-upload-dropzone:hover{border-color:var(--input-focus-border);background-color:#20374c0d}.file-upload-dropzone:focus{outline:none;border-color:var(--input-focus-border);box-shadow:0 0 0 3px var(--input-focus-shadow)}.file-upload-dropzone.dragover{border-color:var(--input-focus-border);background-color:#20374c14;transform:scale(1.01)}.file-upload-dropzone.has-file{border-color:var(--input-border);background-color:var(--input-bg)}.file-upload-dropzone.has-error{border-color:var(--error-color, #f44336);background-color:#f443360d}.file-upload-prompt{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 20px;-webkit-user-select:none;user-select:none}.file-upload-prompt .material-symbols-outlined{font-size:48px;color:var(--gradient-start);margin-bottom:12px}.file-upload-prompt-main{margin:8px 0 0;color:var(--text-color);font-size:1rem}.file-upload-prompt-hint{margin:6px 0 0;font-size:.875rem;color:#999}.file-upload-info{display:none;align-items:center;gap:12px;padding:16px 20px;width:100%}.file-upload-dropzone.has-file .file-upload-prompt{display:none}.file-upload-dropzone.has-file .file-upload-info{display:flex}.file-upload-error{margin:8px 0 0;padding:0;font-size:.875rem;color:var(--error-color, #f44336);min-height:0}.file-upload-icon{font-size:36px;color:var(--gradient-start)}.file-upload-icon.error{color:var(--error-color, #f44336)}.file-upload-details{flex:1;min-width:0}.file-upload-filename{margin:0;font-weight:500;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-upload-filename.error{color:var(--error-color, #f44336)}.file-upload-meta{margin:2px 0 0;font-size:.8rem;color:#999}.file-upload-replace-hint{margin:6px 0 0;font-size:.8rem;color:var(--gradient-start);font-style:italic}.top-nav{width:100%;background-color:transparent;border-bottom:none;padding:8px 16px;display:flex;align-items:center;justify-content:flex-end;position:relative;z-index:100;flex-shrink:0}.top-nav-items{display:flex;align-items:center;gap:8px;flex-direction:row-reverse}.top-nav-item{position:relative;display:flex;align-items:center;gap:4px;padding:4px 6px;border-radius:var(--border-radius);cursor:pointer;color:var(--text-color);text-decoration:none;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.top-nav-item:hover{background-color:var(--sidebar-hover-bg)}.top-nav-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.top-nav-icon-wrapper .material-symbols-outlined{font-size:1.3rem;color:var(--sidebar-icon-color)}.top-nav-marker{position:absolute;top:-2px;right:-2px;width:8px;height:8px;background-color:var(--gradient-start);border-radius:50%;border:2px solid var(--panel-bg);box-shadow:0 0 4px #20374c99}.top-nav-chevron{font-size:1.1rem;color:var(--sidebar-icon-color);transition:transform .2s ease}.top-nav-dropdown-trigger:hover .top-nav-chevron{color:var(--text-color)}.top-nav-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--gradient-start),var(--gradient-end));display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem;color:var(--button-text)}.top-nav-user-avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover;border:2px solid var(--border-color)}.top-nav-user-menu{border-left:1px solid var(--border-color);padding-left:16px;margin-left:8px}.top-nav-login-btn{display:flex;align-items:center;gap:6px;padding:6px 14px;background-color:var(--button-bg);color:var(--button-text);border-radius:var(--border-radius);font-weight:500;font-size:.9rem;text-decoration:none;transition:background-color .2s ease,transform .1s ease}.top-nav-login-btn:hover{background-color:var(--button-hover-bg);transform:translateY(-1px)}.top-nav-login-btn .material-symbols-outlined{font-size:1.2rem}.top-nav-login-text{font-weight:500}.top-nav-dropdown{position:absolute;top:calc(100% + 8px);left:0;background-color:var(--panel-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);min-width:200px;box-shadow:0 4px 12px #0000001a;opacity:0;visibility:hidden;transform:translateY(-10px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:1000;overflow:hidden}.top-nav-dropdown.show{opacity:1;visibility:visible;transform:translateY(0)}.top-nav-dropdown-right{left:auto;right:0}.top-nav-dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--text-color);text-decoration:none;cursor:pointer;transition:background-color .2s ease;font-size:.95rem}.top-nav-dropdown-item:hover{background-color:var(--sidebar-hover-bg)}.top-nav-dropdown-item .material-symbols-outlined{font-size:1.2rem;color:var(--sidebar-icon-color)}.top-nav-dropdown-item:hover .material-symbols-outlined{color:var(--link-color)}.top-nav-user-info{cursor:default;font-weight:500;display:block}.top-nav-user-info:hover{background-color:transparent}.top-nav-user-details{display:flex;flex-direction:column;gap:2px}.top-nav-user-name{font-weight:600;color:var(--text-color);font-size:.95rem}.top-nav-user-email{font-size:.8rem;color:var(--text-secondary-color);font-weight:400}.top-nav-dropdown-divider{height:1px;background-color:var(--border-color);margin:4px 0}.loading-text{color:var(--loading-text-color);font-size:.9rem;font-style:italic}.top-nav-error{display:flex;align-items:center;gap:8px;color:var(--error-text);font-size:.9rem;padding:8px 12px;background-color:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--border-radius)}.top-nav-error .material-symbols-outlined{font-size:1.2rem}.report-modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:10000;display:none}.report-modal-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.report-modal-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:90%;max-width:1200px;height:90%;background-color:var(--panel-bg);border-radius:var(--border-radius);box-shadow:0 8px 32px #00000026;display:flex;flex-direction:column;overflow:hidden}.report-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);background-color:var(--panel-bg)}.report-modal-header h2{margin:0;font-size:1.25rem;color:var(--text-color);font-weight:600}.report-modal-close{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--icon-button-text);border-radius:8px;transition:all var(--transition-speed);display:flex;align-items:center;justify-content:center}.report-modal-close:hover{background-color:var(--icon-button-hover-bg);color:var(--icon-button-hover-text)}.report-modal-close .material-symbols-outlined{font-size:24px}.report-modal-body{flex:1;overflow:hidden;padding:1rem;background-color:var(--bg-color)}.report-modal-body iframe{width:100%;height:100%;border:none;border-radius:8px;background-color:#fff}.drill-down-container{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:0;overflow-y:auto}.drill-down-container>.drill-down-level,.drill-down-container>.drill-down-target{width:100%;flex-shrink:0}.drill-down-level{transition:all var(--transition-speed)}.drill-down-level+.drill-down-level,.drill-down-level+.detail-panel,.drill-down-level+.drill-down-target{margin-top:1rem}.view-wrapper{overflow:hidden;flex:none}.view-scroll-container{max-height:600px;overflow-y:auto}.detail-panel.drill-down-target{max-height:none;overflow:visible}.drill-down-level.drill-down-locked,.drill-down-target.drill-down-locked{opacity:.7}.drill-down-level.drill-down-locked .panel{border-color:var(--border-color)}.drill-down-level.drill-down-locked .record-table-search,.form-table tbody tr.hidden-row{display:none}.form-table tbody tr.selected-row td{font-weight:500}.drill-down-level.drill-down-locked .form-table tbody tr.selected-row{pointer-events:none}.drill-down-level.drill-down-locked .panel-actions,.drill-down-target.drill-down-locked .panel-actions,.drill-down-level.drill-down-locked .grid-actions,.drill-down-target.drill-down-locked .grid-actions{display:none}.drill-down-child{border-left:3px solid var(--sidebar-active-icon-color);padding-left:1rem;margin-left:.5rem}.drill-down-header{display:flex;justify-content:space-between;align-items:center}.drill-down-header .panel-title{flex:1}.drill-down-close{cursor:pointer;padding:.25rem;border-radius:4px;color:var(--icon-button-text);transition:all var(--transition-speed)}.drill-down-close:hover{background-color:var(--icon-button-hover-bg);color:var(--icon-button-hover-text)}.drill-down-header .parent-name{color:var(--sidebar-active-text);font-weight:500}.drill-down-target{width:100%}.drill-down-target .panel{margin:0}.drill-down-level .table-scroll-wrapper{max-height:600px;overflow-y:auto}.drill-down-form-wrapper{max-height:600px;overflow-x:hidden;overflow-y:auto;scrollbar-gutter:stable}.drill-down-form-wrapper .form-container{overflow:visible;padding:16px}.drill-down-target .form-toolbar{position:sticky;top:0;background:var(--panel-bg);z-index:10;margin:0 -16px;padding:8px 16px}.view-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:8px}.view-toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background-color:var(--input-bg);border:1px solid var(--border-color);border-radius:var(--border-radius);color:var(--text-color);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-speed) ease}.view-toolbar-btn:hover{background-color:var(--sidebar-active-bg);border-color:var(--sidebar-active-text);color:var(--sidebar-active-text)}.view-toolbar-btn .material-symbols-outlined{font-size:1.2rem}.view-toolbar-btn.action-close{background-color:transparent;border-color:transparent;padding:8px}.view-toolbar-btn.action-close:hover{background-color:var(--input-bg);border-color:var(--border-color)}.view-toolbar-btn.action-close .btn-caption{display:none}.form-toolbar{display:flex;justify-content:flex-end;gap:8px;padding:8px 0}.autocomplete-wrapper{position:relative;width:100%}.autocomplete-input{width:100%;box-sizing:border-box}.autocomplete-dropdown{display:none;position:absolute;z-index:1000;width:100%;max-height:200px;overflow-y:auto;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:0 0 var(--input-border-radius) var(--input-border-radius);box-shadow:0 4px 6px #0000001a}.autocomplete-dropdown.open{display:block}.autocomplete-option{padding:8px 12px;cursor:pointer;color:var(--text-color)}.autocomplete-option:hover{background-color:var(--sidebar-hover-bg)}.autocomplete-option.highlighted{background-color:var(--sidebar-active-bg);color:var(--text-color)}.autocomplete-no-results,.autocomplete-hint{padding:8px 12px;color:var(--text-secondary-color)}.autocomplete-hint{font-size:.85em;border-top:1px solid var(--input-border);position:sticky;bottom:0;background-color:var(--input-bg)}.multi-select-wrapper{position:relative;width:100%}.multi-select-trigger{display:flex;flex-wrap:wrap;gap:4px;align-items:center;width:100%;min-height:2.25rem;padding:4px 8px;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-border-radius);color:var(--text-color);font:inherit;text-align:left;cursor:pointer;box-sizing:border-box}.multi-select-trigger:focus-visible{outline:2px solid var(--colour-info-border);outline-offset:-1px}.multi-select-placeholder{color:var(--text-secondary-color);flex:1}.multi-select-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;background-color:var(--sidebar-active-bg);border-radius:12px;font-size:.85em;line-height:1.4}.multi-select-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:transparent;border:none;border-radius:50%;color:inherit;font-size:14px;line-height:1;cursor:pointer}.multi-select-chip-remove:hover{background-color:var(--sidebar-hover-bg)}.multi-select-caret{margin-left:auto;color:var(--text-secondary-color);font-size:.85em}.multi-select-popover{position:fixed;margin:0;padding:4px 0;max-height:300px;overflow-y:auto;background-color:var(--input-bg);border:1px solid var(--input-border);border-radius:var(--input-border-radius);box-shadow:0 4px 6px #00000026;color:var(--text-color)}.multi-select-option{display:flex;align-items:center;padding:8px 14px;cursor:pointer}.multi-select-option:hover{background-color:var(--sidebar-hover-bg)}.multi-select-option-check{margin:0 10px 0 0;flex-shrink:0}.multi-select-option-label{line-height:1.3}
