body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Montserrat,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--brand-primary:#492b62;--brand-primary-light:#f5f4fc;--brand-primary-mid:#cfc9f0;--brand-secondary:#49b76a;--brand-secondary-light:#ecf8f0;--brand-secondary-dark:#137a52;--brand-accent:#ff1261;--brand-accent-light:#ffe7ef;--brand-accent-mid:#ffa0c0;--brand-tertiary:#ffd62f;--brand-tertiary-light:#fff4c6;--brand-tertiary-mid:#ffe57b;--neutral-50:#fafafa;--neutral-100:#f5f5f5;--neutral-200:#eee;--neutral-300:#e0e0e0;--neutral-400:#bdbdbd;--neutral-500:#9e9e9e;--neutral-600:#757575;--neutral-700:#616161;--neutral-800:#424242;--neutral-900:#212121;--esg-environmental:#2e7d32;--esg-social:#1976d2;--esg-governance:#7b1fa2;--feedback-success-base:#49b76a;--feedback-warning-base:#ffd62f;--feedback-error-base:#ff1261;--feedback-info-base:#492b62;--surface-background:var(--brand-primary-light);--surface-elevated:#fff;--surface-elevated-hover:var(--neutral-100);--surface-sunken:var(--brand-primary-light);--surface-overlay:#00000080;--text-primary:var(--brand-primary);--text-secondary:var(--brand-primary);--text-tertiary:var(--brand-secondary);--text-disabled:var(--brand-primary-mid);--text-on-primary:var(--brand-primary-mid);--text-on-dark:#fff;--border-default:var(--brand-primary);--border-subtle:var(--brand-primary-mid);--border-strong:var(--brand-secondary);--border-focus:var(--brand-accent);--interactive-default:var(--brand-secondary);--interactive-hover:var(--brand-secondary-dark);--interactive-active:var(--brand-secondary-light);--interactive-disabled:var(--brand-primary-mid);--interactive-subtle:var(--brand-primary-light);--link-default:var(--brand-primary);--link-hover:var(--brand-primary-dark);--link-visited:var(--brand-secondary-dark);--brand-border:var(--neutral-300);--brand-hover:var(--neutral-100);--brand-muted:var(--neutral-500);--brand-text:var(--neutral-900);--feedback-success:var(--feedback-success-base);--feedback-success-bg:#e8f5e9;--feedback-success-border:#a5d6a7;--feedback-warning:var(--feedback-warning-base);--feedback-warning-bg:#fff3e0;--feedback-warning-border:#ffcc80;--feedback-error:var(--feedback-error-base);--feedback-error-bg:#ffebee;--feedback-error-border:#ef9a9a;--feedback-info:var(--feedback-info-base);--feedback-info-bg:#e3f2fd;--feedback-info-border:#90caf9;--chart-primary:var(--brand-primary);--chart-secondary:var(--brand-secondary);--chart-tertiary:var(--brand-accent);--chart-quaternary:var(--brand-tertiary);--chart-quinary:var(--brand-secondary-dark);--chart-senary:var(--brand-primary-mid);--chart-septenary:var(--brand-secondary-light);--chart-octonary:var(--brand-accent-mid);--chart-nonary:var(--brand-tertiary-light);--chart-denary:var(--brand-tertiary-mid);--chart-undenary:var(--brand-accent-light);--chart-grid:var(--border-subtle);--chart-axis:var(--text-primary);--reporting-accent:#01916f;--reporting-accent-ink:#016b52;--risk-fill-opacity:.6;--risk-cell-opacity:.4;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a;--focus-ring:0 0 0 3px #2e7d324d;--focus-ring-error:0 0 0 3px #d32f2f4d;--gradient-card:linear-gradient(135deg, #fff 0%, #f8f7fc 100%);--gradient-card-hover:linear-gradient(135deg, #fff 0%, #f0eef8 100%);--gradient-filter-bar:linear-gradient(180deg, #fff 0%, var(--neutral-50) 100%);--gradient-widget-grid:linear-gradient(180deg, var(--neutral-50) 0%, #f0eef8 100%);--glass-bg:#ffffffb3;--glass-border:#492b6214;--glass-shadow:0 4px 24px #492b620f;--glass-shadow-hover:0 8px 32px #492b621a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--radius-pill:999px;--accent-line:linear-gradient(90deg, var(--brand-primary) 0%, var(--brand-secondary) 100%);--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--surface-background:var(--neutral-900);--surface-elevated:var(--neutral-800);--surface-elevated-hover:var(--neutral-700);--surface-sunken:var(--neutral-900);--surface-overlay:#000000b3;--text-primary:var(--neutral-50);--text-secondary:var(--neutral-300);--text-tertiary:var(--neutral-400);--text-disabled:var(--neutral-600);--text-on-primary:#fff;--text-on-dark:var(--neutral-50);--border-default:var(--neutral-700);--border-subtle:var(--neutral-800);--border-strong:var(--neutral-600);--border-focus:var(--brand-primary-light);--interactive-default:var(--brand-primary-light);--interactive-hover:var(--brand-primary);--interactive-active:var(--brand-primary);--interactive-disabled:var(--neutral-700);--interactive-subtle:var(--brand-primary-dark);--link-default:var(--brand-primary-light);--link-hover:var(--brand-primary);--link-visited:var(--brand-secondary);--feedback-success:#81c784;--feedback-success-bg:#2e7d3233;--feedback-success-border:#2e7d3266;--feedback-warning:#ffb74d;--feedback-warning-bg:#f57c0033;--feedback-warning-border:#f57c0066;--feedback-error:#e57373;--feedback-error-bg:#d32f2f33;--feedback-error-border:#d32f2f66;--feedback-info:#64b5f6;--feedback-info-bg:#0288d133;--feedback-info-border:#0288d166;--chart-primary:var(--brand-primary-light);--chart-secondary:var(--brand-secondary-light);--chart-tertiary:var(--brand-accent);--chart-grid:var(--neutral-800);--chart-axis:var(--neutral-400);--shadow-sm:0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006;--shadow-lg:0 10px 15px -3px #00000080;--shadow-xl:0 20px 25px -5px #0009;--focus-ring:0 0 0 3px #66bb6a66;--focus-ring-error:0 0 0 3px #e5737366;--gradient-card:linear-gradient(135deg, var(--neutral-800) 0%, #2a2035 100%);--gradient-card-hover:linear-gradient(135deg, var(--neutral-800) 0%, #332640 100%);--gradient-filter-bar:linear-gradient(180deg, var(--neutral-800) 0%, var(--neutral-900) 100%);--gradient-widget-grid:linear-gradient(180deg, var(--neutral-900) 0%, #1a1225 100%);--glass-bg:#1e1e28b3;--glass-border:#cfc9f014;--glass-shadow:0 4px 24px #0003;--glass-shadow-hover:0 8px 32px #0000004d}[data-section=environmental]{--section-accent:var(--esg-environmental);--section-accent-light:#a5d6a7;--section-accent-bg:#2e7d321a}[data-section=social]{--section-accent:var(--esg-social);--section-accent-light:#64b5f6;--section-accent-bg:#1976d21a}[data-section=governance]{--section-accent:var(--esg-governance);--section-accent-light:#ba68c8;--section-accent-bg:#7b1fa21a}.button-primary{background-color:var(--interactive-default);color:var(--text-on-primary);border:1px solid #0000}.button-primary:hover{background-color:var(--interactive-hover)}.button-primary:focus-visible{box-shadow:var(--focus-ring)}.button-secondary{color:var(--interactive-default);border:1px solid var(--border-default);background-color:#0000}.button-secondary:hover{background-color:var(--surface-elevated-hover)}.card{background-color:var(--surface-elevated);border:1px solid var(--border-subtle);box-shadow:var(--shadow-md);color:var(--text-primary)}.card:hover{background-color:var(--surface-elevated-hover)}.input{background-color:var(--surface-sunken);border:1px solid var(--border-default);color:var(--text-primary)}.input:focus{border-color:var(--border-focus);box-shadow:var(--focus-ring)}.input::placeholder{color:var(--text-tertiary)}.alert-success{background-color:var(--feedback-success-bg);border:1px solid var(--feedback-success-border);color:var(--feedback-success)}.section-header{border-left:4px solid var(--section-accent,var(--brand-primary));background-color:var(--section-accent-bg,var(--surface-elevated))}.chart{background-color:var(--surface-elevated);border:1px solid var(--border-subtle)}h1,h2,h3,h4,h5,h6{color:var(--text-primary)}p{color:var(--text-secondary)}.text-muted{color:var(--text-tertiary)}a{color:var(--link-default)}a:hover{color:var(--link-hover)}@media (width<=767px){.modal-overlay{padding:.5rem}.modal-content{border-radius:12px 12px 0 0;width:100%;max-width:100%;max-height:85vh;padding:1.25rem;overflow-y:auto}}.main-navbar{border-right:2px solid var(--border-subtle);background:var(--brand-primary);width:100%;min-height:0;box-shadow:var(--shadow-md);scrollbar-width:thin;scrollbar-color:var(--brand-primary-mid) transparent;flex-direction:column;flex:auto;gap:0;margin:0;padding:.5rem 0 1.25rem;display:flex;overflow:hidden auto}.main-navbar::-webkit-scrollbar{width:6px}.main-navbar::-webkit-scrollbar-track{background:0 0}.main-navbar::-webkit-scrollbar-thumb{background:var(--brand-primary-mid);border-radius:3px}.main-navbar::-webkit-scrollbar-thumb:hover{background:#fff}.main-navbar::-webkit-scrollbar-button{width:0;height:0;display:none}.main-navbar::-webkit-scrollbar-corner{background:0 0}.navbar-section{flex-direction:column;display:flex}.navbar-section+.navbar-section{border-top:1px solid #ffffff14;margin-top:1.1rem;padding-top:.7rem}.navbar-section-header{letter-spacing:.09em;text-transform:uppercase;color:var(--brand-primary-mid);opacity:.85;padding:.7rem 1.25rem .55rem;font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:700}.navbar-item{cursor:pointer;color:var(--brand-primary-mid);white-space:nowrap;text-align:left;box-sizing:border-box;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:.75rem;width:100%;padding:.7rem 1.25rem;font-family:Montserrat,sans-serif;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.navbar-item+.navbar-item,.navbar-item-group+.navbar-item,.navbar-item+.navbar-item-group,.navbar-item-group+.navbar-item-group{margin-top:2px}.navbar-item-label{text-overflow:ellipsis;flex:1;overflow:hidden}.navbar-item-ticker{background:var(--brand-accent,#ff1261);color:#fff;text-align:center;border-radius:999px;flex-shrink:0;min-width:1.25rem;height:1.25rem;margin-left:.4rem;padding:0 .4rem;font-size:.7rem;font-weight:700;line-height:1.25rem;box-shadow:0 0 0 2px #ff12612e}.navbar-item:hover{color:#fff;background:#ffffff0f}.navbar-item.active{color:#fff;border-left-color:var(--brand-accent);background:#ffffff1a;font-weight:600}.navbar-item svg{flex-shrink:0}.navbar-locked-section-link{letter-spacing:.09em;text-transform:uppercase;color:var(--brand-primary-mid);opacity:.7;cursor:pointer;justify-content:space-between;align-items:center;gap:.5rem;padding:.7rem 1.25rem .55rem;font-family:Montserrat,sans-serif;font-size:.65rem;font-weight:700;text-decoration:none;transition:opacity .15s,background .15s,color .15s;display:flex}.navbar-locked-section-link:hover{opacity:1;color:#fff;background:#ffffff0d}.navbar-locked-section-link svg{opacity:.85;flex-shrink:0}.navbar-item-locked{opacity:.55;font-weight:500}.navbar-item-locked:hover{opacity:.85;background:#ffffff0a}.navbar-item-locked .navbar-item-label{flex:1}.navbar-item-locked>svg:last-child{opacity:.85;margin-left:auto}.navbar-item-group{flex-direction:column;display:flex}.navbar-item-trigger{align-items:stretch;display:flex}.navbar-item-trigger .navbar-item{flex:1;margin-top:0}.navbar-submenu-toggle{width:32px;color:var(--brand-primary-mid);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.navbar-submenu-toggle:hover{color:#fff;background:#ffffff1a}.navbar-submenu{background:#0000001f;flex-direction:column;padding:.25rem 0;display:flex}.navbar-subitem{color:var(--brand-primary-mid);white-space:nowrap;text-overflow:ellipsis;border-left:3px solid #0000;padding:.55rem 1.25rem .55rem 2.85rem;font-family:Montserrat,sans-serif;font-size:.82rem;font-weight:400;text-decoration:none;transition:background .15s,color .15s;display:block;overflow:hidden}.navbar-subitem:hover{color:#fff;background:#ffffff0f}.navbar-subitem.active{color:#fff;border-left-color:var(--brand-accent);background:#ffffff1a;font-weight:600}.navbar-tagline-tooltip{background:var(--surface-elevated);color:var(--brand-primary);border:1px solid var(--brand-primary-mid);border-left:3px solid var(--brand-accent);pointer-events:none;z-index:9999;white-space:normal;border-radius:6px;max-width:240px;padding:.5rem .75rem;font-family:Montserrat,sans-serif;font-size:.78rem;font-weight:500;line-height:1.4;position:fixed;transform:translateY(-50%);box-shadow:0 6px 20px #492b622e}.navbar-login{border-top:1px solid #ffffff26;margin-top:auto}@media (width<=1023px){.navbar-item{gap:.65rem;padding:.6rem 1rem;font-size:.85rem}.navbar-section-header{padding:.6rem 1rem .45rem}.navbar-section+.navbar-section{margin-top:.9rem;padding-top:.55rem}.navbar-subitem{padding:.5rem 1rem .5rem 2.5rem;font-size:.78rem}.navbar-tagline-tooltip{display:none}}@media (width<=767px){.navbar-item{gap:.75rem;padding:.75rem 1.25rem;font-size:.95rem}.navbar-section-header{padding:.7rem 1.25rem .55rem}.navbar-section+.navbar-section{margin-top:1.1rem;padding-top:.7rem}.navbar-subitem{padding:.6rem 1.25rem .6rem 2.85rem;font-size:.85rem}.navbar-tagline-tooltip{display:none}}@media (width>=1024px){.App-sidebar:not(:hover) .navbar-section-header,.App-sidebar:not(:hover) .navbar-item-label,.App-sidebar:not(:hover) .navbar-submenu-toggle,.App-sidebar:not(:hover) .navbar-item-ticker,.App-sidebar:not(:hover) .navbar-submenu,.App-sidebar:not(:hover) .navbar-locked-section-link span,.App-sidebar:not(:hover) .navbar-item-locked>svg:last-child{display:none}.App-sidebar:not(:hover) .navbar-item,.App-sidebar:not(:hover) .navbar-locked-section-link{justify-content:center;gap:0;padding-left:0;padding-right:0}.navbar-item-label{transition:opacity .15s}}.import-ticker{border-radius:var(--radius-md);background:var(--surface-sunken);border:1px solid var(--border-subtle);color:var(--text-secondary);align-items:center;gap:.5rem;margin:.75rem .5rem 0;padding:.5rem .7rem;font-size:.76rem;line-height:1.35;display:flex}.import-ticker-dot{border-radius:var(--radius-pill);background:var(--interactive-default);flex-shrink:0;width:.5rem;height:.5rem;animation:1.6s ease-in-out infinite import-ticker-pulse}.import-ticker-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes import-ticker-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.import-ticker-dot{animation:none}}@media (width>=769px){.App-sidebar:not(:hover) .import-ticker-text{display:none}.App-sidebar:not(:hover) .import-ticker{justify-content:center}}.import-ring{vertical-align:middle;border-radius:var(--radius-pill);flex-shrink:0;justify-content:center;align-items:center;margin-left:.4rem;line-height:1;display:inline-flex;position:relative;overflow:hidden}.import-ring-track{stroke:var(--border-subtle)}.import-ring-fill{stroke:var(--feedback-error);transition:stroke-dashoffset .5s}.import-ring.is-indeterminate svg{animation:1.1s linear infinite import-ring-spin}.import-ring-label{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:.5rem;font-weight:700;position:absolute}@keyframes import-ring-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.import-ring.is-indeterminate svg{animation:none}.import-ring-fill{transition:none}}.import-ring.is-stalled .import-ring-fill{stroke:var(--feedback-warning-border)}.import-ring.is-stalled .import-ring-label{color:var(--feedback-error)}@media (width>=769px){.App-sidebar:not(:hover) .navbar-item{position:relative}.App-sidebar:not(:hover) .import-ring{background:var(--surface-elevated);border-radius:var(--radius-pill);margin-left:0;padding:1px;position:absolute;top:.15rem;right:.15rem}.App-sidebar:not(:hover) .import-ring-label{display:block}}.import-ring{margin-left:.5rem}.import-ticker.is-done{border-color:var(--feedback-success-border);background:var(--feedback-success-bg)}.import-ticker-tick{color:var(--feedback-success);flex-shrink:0;font-weight:700;line-height:1}.import-ticker.is-stalled{border-color:var(--feedback-error-border);background:var(--feedback-error-bg)}.import-ticker.is-stalled .import-ticker-dot{background:var(--feedback-error);animation:none}.sharing-badge{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;transition:all .15s;display:inline-flex}.sharing-badge-small{padding:.15rem .35rem;font-size:.7rem}.sharing-badge-medium{padding:.35rem .6rem;font-size:.8rem}.sharing-badge-received{background:var(--chart-blue-light,#e0f2fe);color:var(--chart-blue,#0284c7)}.sharing-badge-received:hover{background:var(--chart-blue,#0284c7);color:#fff}.sharing-badge-shared{background:var(--chart-green-light,#dcfce7);color:var(--chart-green,#16a34a)}.sharing-badge-shared:hover{background:var(--chart-green,#16a34a);color:#fff}.sharing-badge-icon{font-weight:700}.inline-sharing-indicator{vertical-align:middle;border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;margin-left:.25rem;font-size:.75rem;font-weight:700;display:inline-flex}.inline-sharing-indicator.received{background:var(--chart-blue-light,#e0f2fe);color:var(--chart-blue,#0284c7)}.inline-sharing-indicator.shared{background:var(--chart-green-light,#dcfce7);color:var(--chart-green,#16a34a)}.sharing-details-panel{background:var(--surface-default);border:1px solid var(--border-subtle);border-radius:8px;max-width:500px;overflow:hidden}.sharing-details-header{border-bottom:1px solid var(--border-subtle);background:var(--surface-sunken);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.sharing-details-header h3{color:var(--text-primary);margin:0;font-size:1rem}.sharing-details-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.sharing-details-close:hover{color:var(--text-primary)}.sharing-details-content{padding:1rem 1.5rem}.sharing-details-loading,.sharing-details-error,.sharing-details-empty{text-align:center;color:var(--text-secondary);padding:2rem 1.5rem}.sharing-details-error{color:var(--feedback-error);background:var(--feedback-error-bg)}.sharing-section{margin-bottom:1.5rem}.sharing-section:last-child{margin-bottom:0}.sharing-section-title{color:var(--text-primary);align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.9rem;font-weight:600;display:flex}.sharing-section-icon{font-weight:700}.sharing-org-list{flex-direction:column;gap:.75rem;display:flex}.sharing-org-card{border:1px solid var(--border-subtle);border-radius:6px;padding:1rem}.sharing-org-card.received{background:var(--chart-blue-light,#f0f9ff);border-color:var(--chart-blue,#0284c7)}.sharing-org-card.shared{background:var(--surface-sunken)}.sharing-org-info{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.sharing-org-name{color:var(--text-primary);font-weight:600}.sharing-access-badge{text-transform:uppercase;color:#fff;border-radius:3px;padding:.15rem .4rem;font-size:.7rem;font-weight:600}.sharing-org-meta{color:var(--text-secondary);flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.5rem;font-size:.75rem;display:flex}.sharing-note{color:var(--text-secondary);margin:.5rem 0 0;font-size:.8rem;font-style:italic}.sharing-revoke-button{background:var(--feedback-error);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:.75rem;padding:.4rem .75rem;font-size:.8rem;transition:background .15s}.sharing-revoke-button:hover{background:var(--feedback-error-dark,#b91c1c)}.sharing-revoke-button:disabled{opacity:.6;cursor:not-allowed}.sharing-add-button{background:var(--interactive-default);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:1rem;padding:.5rem 1rem;font-size:.9rem;transition:background .15s}.sharing-add-button:hover{background:var(--interactive-hover)}.sharing-privacy-notice{background:var(--surface-sunken);border-left:3px solid var(--interactive-default);border-radius:4px;margin-top:1.5rem;padding:.75rem}.sharing-privacy-notice p{color:var(--text-secondary);margin:0;font-size:.8rem}.sharing-privacy-notice strong{color:var(--text-primary)}.org-context-indicator{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:4px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;display:inline-flex}.org-context-icon{font-size:1rem}.org-context-name{color:var(--text-primary);font-weight:600}.org-context-role{color:var(--text-secondary);font-size:.8rem}@media (width<=767px){.sharing-details-panel{max-width:100%}.sharing-org-info{flex-wrap:wrap}.sharing-org-meta{flex-direction:column;gap:.25rem}.org-context-indicator{padding:.35rem .5rem;font-size:.8rem}}.user-header{z-index:300;background:var(--surface-elevated);border-bottom:1px solid var(--brand-primary);min-height:var(--app-header-height);box-sizing:border-box;align-items:center;margin:-2rem -2rem 1.5rem;padding:0 2rem;display:flex;position:sticky;top:0;box-shadow:2px 0 4px #0000001a}.user-header-content{justify-content:flex-end;align-items:center;gap:1rem;width:100%;display:flex}.topbar-context-slot{flex:auto;align-items:center;gap:.5rem;min-width:0;display:flex;overflow:visible}.topbar-context-slot:empty{display:none}.hamburger-btn{cursor:pointer;color:var(--text-primary);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;margin-right:auto;padding:.5rem;transition:background .2s;display:none}.hamburger-btn:hover{background:var(--surface-sunken)}.profile-icon-container{color:#fff;background:linear-gradient(135deg,#5d43ab 0%,#3b274b 100%);border:1px solid #ffffff59;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 2px 6px #3b274b59}.profile-icon-container:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b274b66}.profile-initials{letter-spacing:.02em;-webkit-user-select:none;user-select:none;font-size:.9rem;font-weight:700;line-height:1}.profile-icon{width:28px;height:28px}.organisation-name{color:var(--brand-primary);text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:.9rem;font-weight:600;overflow:hidden}.organisation-selector-container{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.org-combobox{flex-shrink:0;position:relative}.org-combobox-trigger{border:1px solid var(--border-subtle,#e5e7eb);border-radius:var(--radius-pill,999px);background:var(--surface-elevated,#fff);max-width:15rem;color:var(--text-primary,#111827);cursor:pointer;align-items:center;gap:.4rem;padding:.3rem .7rem;font-size:.85rem;font-weight:600;display:inline-flex}.org-combobox-trigger:hover{border-color:var(--brand-primary,#492b62)}.org-combobox-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.org-combobox-chevron{color:var(--text-secondary,#6b7280);font-size:.7rem}.org-combobox-menu{z-index:400;background:var(--surface-elevated,#fff);border:1px solid var(--border-subtle,#e5e7eb);border-radius:var(--radius-md,10px);flex-direction:column;gap:4px;width:max(15rem,100%);padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #20162829}.org-combobox-search{box-sizing:border-box;border:1px solid var(--border-subtle,#e5e7eb);border-radius:var(--radius-sm,6px);width:100%;padding:.4rem .6rem;font-size:.85rem}.org-combobox-list{max-height:300px;margin:0;padding:0;list-style:none;overflow-y:auto}.org-combobox-option{text-align:left;border-radius:var(--radius-sm,6px);width:100%;color:var(--text-primary,#111827);cursor:pointer;background:0 0;border:none;padding:.4rem .6rem;font-size:.85rem}.org-combobox-option:hover{background:var(--surface-sunken,#f3f0f8)}.org-combobox-option.is-selected{background:var(--brand-primary,#492b62);color:#fff;font-weight:600}.org-combobox-empty{color:var(--text-secondary,#6b7280);padding:.5rem .6rem;font-size:.85rem}.organisation-search-input{border:1px solid var(--brand-primary-mid);box-sizing:border-box;border-radius:4px;width:220px;padding:.5rem;font-size:.85rem;transition:border-color .2s,box-shadow .2s}.organisation-search-input:focus{border-color:var(--brand-secondary);outline:none;box-shadow:0 0 0 2px #4a90e233}.organisation-selector{color:var(--brand-primary);text-align:left;border:1px solid var(--brand-primary-mid);cursor:pointer;background:#fff;border-radius:4px;width:220px;padding:.5rem;font-size:.9rem;font-weight:500;transition:border-color .2s,box-shadow .2s}.organisation-selector:hover{border-color:var(--brand-secondary)}.organisation-selector:focus{border-color:var(--brand-secondary);outline:none;box-shadow:0 0 0 2px #4a90e233}.login-register-button{background-color:var(--brand-secondary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background-color .2s,transform .2s;box-shadow:0 2px 4px #0000001a}.profile-menu{position:relative}.profile-button{cursor:pointer;background:0 0;border:none;padding:0}.profile-dropdown{background:var(--surface-elevated);border:1px solid var(--brand-primary-mid);z-index:400;border-radius:6px;min-width:220px;padding:.5rem 0;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 16px #0000001f}.profile-dropdown-user{border-bottom:1px solid var(--brand-primary-mid);padding:.5rem .75rem}.profile-dropdown-name{color:var(--brand-primary);font-size:.9rem;font-weight:600}.profile-dropdown-email{color:var(--brand-primary);margin-top:.15rem;font-size:.8rem}.profile-dropdown-badge{text-transform:uppercase;background:var(--feedback-warning-bg);color:var(--feedback-warning-dark,#92400e);border-radius:3px;margin-top:.35rem;padding:.15rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.role-badge{text-transform:capitalize;background:var(--surface-sunken);color:var(--text-secondary);border:1px solid var(--border-subtle);border-radius:4px;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.profile-dropdown-action{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:.5rem .75rem;font-size:.9rem}.profile-dropdown-action:hover{background:var(--brand-primary-mid)}.login-register-button:hover{background-color:var(--brand-secondary-dark);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.login-register-button:active{transform:translateY(0)}.modal-overlay{background:var(--surface-overlay);z-index:1000;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.modal-content{background:var(--surface-elevated);border-radius:8px;width:90%;max-width:500px;padding:2rem;position:relative;box-shadow:0 4px 15px #0003}@media (width<=1023px){.user-header{margin:-1.5rem -1.5rem 1rem;padding:0 1.5rem}.organisation-name{max-width:180px;font-size:.85rem}.organisation-selector,.organisation-search-input{width:180px}}@media (width<=767px){.hamburger-btn{display:flex}.user-header{margin:-1rem -1rem 1rem;padding:0 1rem}.user-header-content{gap:.5rem}.profile-icon-container{width:36px;height:36px}.profile-icon{width:20px;height:20px}.organisation-name{max-width:120px;font-size:.75rem}.organisation-selector-container{flex:1;min-width:0}.organisation-selector,.organisation-search-input{width:100%}.role-badge{display:none}.login-register-button{padding:.5rem 1rem;font-size:.9rem}}.session-timeout-overlay{z-index:10000;background:#0009;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.session-timeout-modal{background:var(--surface-default);text-align:center;border-radius:12px;width:90%;max-width:400px;padding:2rem;animation:.3s slideUp;box-shadow:0 20px 60px #0000004d}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.session-timeout-icon{margin-bottom:1rem;font-size:3rem}.session-timeout-title{color:var(--text-primary);margin:0 0 1rem;font-size:1.5rem}.session-timeout-message{color:var(--text-secondary);margin:0 0 .5rem;font-size:1rem}.session-timeout-message strong{color:var(--feedback-warning);font-weight:600}.session-timeout-note{color:var(--text-secondary);margin:0 0 1.5rem;font-size:.9rem}.session-timeout-actions{justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.session-timeout-extend{background:var(--interactive-default);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:background .15s}.session-timeout-extend:hover{background:var(--interactive-hover)}.session-timeout-logout{color:var(--text-secondary);border:1px solid var(--border-subtle);cursor:pointer;background:0 0;border-radius:6px;padding:.75rem 1.5rem;font-size:1rem;transition:all .15s}.session-timeout-logout:hover{background:var(--surface-sunken);color:var(--text-primary)}.session-timeout-progress{background:var(--surface-sunken);border-radius:2px;height:4px;overflow:hidden}.session-timeout-progress-bar{background:var(--feedback-warning);border-radius:2px;height:100%;transition:width 1s linear}.session-status-indicator{background:var(--feedback-warning-bg);border:1px solid var(--feedback-warning);color:var(--feedback-warning-dark,#92400e);border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;display:inline-flex}.session-status-icon{font-size:.875rem}.session-status-text{font-weight:500}@media (width<=480px){.session-timeout-modal{padding:1.5rem}.session-timeout-actions{flex-direction:column}.session-timeout-extend,.session-timeout-logout{width:100%}}:root{--app-header-height:84px}.App{background-color:var(--surface-background);flex-direction:row;min-height:100vh;display:flex}.App-sidebar{background-color:var(--brand-primary);z-index:100;flex-direction:column;width:250px;height:100vh;display:flex;position:fixed;top:0;left:0;box-shadow:2px 0 4px #0000001a}.App-logo-container{height:var(--app-header-height);box-sizing:border-box;border-bottom:1px solid #ffffff1a;flex-shrink:0;justify-content:flex-start;align-items:center;padding:0 0 0 .8rem;display:flex;overflow:hidden}.App-logo{pointer-events:none;height:130px;margin-left:-1.2rem}.App-logo-mark{pointer-events:none;display:none}.App-main{flex:1;width:calc(100% - 250px);min-height:calc(100vh - 2rem);margin-left:250px;padding:0 2rem 2rem}.sidebar-backdrop{display:none}@media (width<=1023px){.App-sidebar{width:200px}.App-main{width:calc(100% - 200px);margin-left:200px;padding:0 1.5rem 1.5rem}:root{--app-header-height:80px}.App-logo{height:100px;margin-left:1rem}}@media (width<=767px){.App-sidebar{z-index:1000;width:250px;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translate(-250px)}.App-sidebar.open{transform:translate(0)}.App-main{width:100%;margin-left:0;padding:0 1rem 1rem}.sidebar-backdrop{z-index:999;opacity:0;pointer-events:none;background:#00000080;width:100%;height:100%;transition:opacity .3s;display:block;position:fixed;top:0;left:0}.sidebar-backdrop.visible{opacity:1;pointer-events:auto}}@media (width>=1024px){.App-sidebar{z-index:350;width:72px;transition:width .2s cubic-bezier(.4,0,.2,1)}.App-sidebar:hover{width:250px}.App-main{width:calc(100% - 72px);margin-left:72px}.App-logo-full{display:none}.App-logo-mark{object-fit:contain;border-radius:9px;width:40px;height:40px;margin:0 auto;display:block}.App-logo-container{justify-content:center;padding-left:0}.App-sidebar:hover .App-logo-full{display:block}.App-sidebar:hover .App-logo-mark{display:none}.App-sidebar:hover .App-logo-container{justify-content:flex-start;padding-left:.8rem}}@media (width>=1024px) and (prefers-reduced-motion:reduce){.App-sidebar{transition:none}}.currency-toggle{align-items:center;gap:.25rem;margin-left:.5rem;font-size:.85rem;display:inline-flex}.currency-toggle-label{color:var(--text-secondary);margin-right:.25rem}.currency-toggle-btn{border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;background:0 0;padding:.3rem .6rem;font-size:.85rem;transition:all .15s}.currency-toggle-btn:first-of-type{border-right:none;border-radius:4px 0 0 4px}.currency-toggle-btn:last-of-type{border-radius:0 4px 4px 0}.currency-toggle-btn:hover{background:var(--surface-sunken);color:var(--text-primary)}.currency-toggle-btn.active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}
