.lab-indicator{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff1a;border-radius:6px;color:#fff;font-size:14px}.lab-indicator--loading{opacity:.7}.lab-indicator__icon{color:var(--primary-color, #3498db);font-size:14px}.lab-indicator__name{font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-indicator__spinner{animation:lab-spin 1s linear infinite;color:var(--primary-color, #3498db)}.lab-switcher{position:relative;display:inline-block}.lab-switcher__trigger{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease}.lab-switcher__trigger:hover{background:#ffffff26;border-color:#ffffff4d}.lab-switcher__trigger:focus{outline:none;box-shadow:0 0 0 2px var(--primary-color, #3498db)}.lab-switcher__icon{color:var(--primary-color, #3498db);font-size:14px}.lab-switcher__name{font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-switcher__chevron{font-size:12px;transition:transform .2s ease;opacity:.7}.lab-switcher__chevron--open{transform:rotate(180deg)}.lab-switcher__dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:280px;max-width:320px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;z-index:1000;overflow:hidden;animation:lab-dropdown-appear .15s ease-out}.lab-switcher__header{padding:12px 16px;background:#f8f9fa;border-bottom:1px solid #e9ecef;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#6c757d}.lab-switcher__item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;border:none;background:#fff;text-align:left;cursor:pointer;transition:background .15s ease}.lab-switcher__item:hover{background:#f8f9fa}.lab-switcher__item--active{background:#e7f3ff}.lab-switcher__item--active:hover{background:#d4e9ff}.lab-switcher__item:not(:last-child){border-bottom:1px solid #f1f3f4}.lab-switcher__item-content{flex:1;min-width:0}.lab-switcher__item-name{font-size:14px;font-weight:500;color:#212529;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-switcher__item-org{font-size:12px;color:#6c757d;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lab-switcher__item-badges{display:flex;gap:6px;margin-top:4px;flex-wrap:wrap}.lab-switcher__item-role{display:inline-block;padding:2px 6px;font-size:10px;font-weight:600;background:#f3e8ff;color:#7c3aed;border-radius:4px}.lab-switcher__item-badge{display:inline-block;padding:2px 6px;font-size:10px;font-weight:600;text-transform:uppercase;background:#e3f2fd;color:#1976d2;border-radius:4px}.lab-switcher__check{color:var(--primary-color, #3498db);font-size:14px;margin-left:12px;flex-shrink:0}@keyframes lab-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes lab-dropdown-appear{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1400px){.lab-indicator{padding:6px 10px}.lab-indicator__name{max-width:140px;font-size:13px}.lab-switcher__trigger{padding:6px 10px;font-size:13px}.lab-switcher__name{max-width:140px}.lab-switcher__dropdown{min-width:260px;max-width:300px;right:0}.lab-switcher__item{padding:10px 14px}.lab-switcher__item-name{font-size:13px}.lab-switcher__item-org{font-size:11px}}@media(max-width:768px){.lab-switcher__name,.lab-indicator__name{max-width:120px}.lab-switcher__dropdown{min-width:240px;right:-10px}}@media(max-width:480px){.lab-switcher__name{display:none}.lab-indicator__name{max-width:100px}.lab-switcher__trigger{padding:8px}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 clamp(.75rem,.5rem + .6vw,1.5rem);height:clamp(54px,50px + .5vw,60px);border-bottom:1px solid #155e75;background:#164e63;position:sticky;top:0;z-index:100}.topbar__left{display:flex;align-items:center;gap:clamp(1rem,.75rem + .8vw,2rem);flex:1}.topbar__brand{display:flex;align-items:center;gap:clamp(.375rem,.3rem + .15vw,.5rem);color:#f8fafc;font-weight:600;font-size:clamp(1rem,.9rem + .15vw,1.1rem);white-space:nowrap;text-decoration:none;cursor:pointer}.topbar__brand:hover{opacity:.9}.topbar__brand-logo{height:clamp(32px,28px + .4vw,36px);width:auto;object-fit:contain}.topbar__brand-dot{width:10px;height:10px;background:#22d3ee;border-radius:50%}.topbar__nav{display:flex;align-items:center;gap:.25rem;overflow-x:auto;scrollbar-width:none}.topbar__nav::-webkit-scrollbar{display:none}.topbar__nav-link{display:flex;align-items:center;gap:clamp(.3rem,.25rem + .1vw,.4rem);padding:clamp(.375rem,.3rem + .15vw,.5rem) clamp(.5rem,.4rem + .2vw,.75rem);border-radius:.5rem;color:#94a3b8;text-decoration:none;font-size:clamp(.75rem,.7rem + .1vw,.875rem);font-weight:500;white-space:nowrap;transition:all .15s ease}.topbar__nav-link:hover{color:#f8fafc;background:#f8fafc14}.topbar__nav-link.active{background:#22d3ee;color:#0f172a}.topbar__nav-icon{font-size:.9rem;display:inline-flex}.topbar__nav-label{display:inline}.topbar__right{display:flex;align-items:center;gap:clamp(.375rem,.3rem + .3vw,.75rem)}.topbar__search{border:1px solid rgba(248,250,252,.1);border-radius:999px;padding:clamp(.3rem,.25rem + .1vw,.4rem) clamp(.65rem,.5rem + .2vw,.85rem);display:flex;align-items:center;gap:.5rem;color:#94a3b8;background:#f8fafc0d}.topbar__search input{border:none;outline:none;background:transparent;width:clamp(100px,80px + 4vw,140px);color:#f8fafc;font-size:clamp(.8125rem,.75rem + .1vw,.875rem)}.topbar__search input::placeholder{color:#64748b}.topbar__notification{display:flex;align-items:center;justify-content:center;width:clamp(34px,30px + .4vw,38px);height:clamp(34px,30px + .4vw,38px);border-radius:50%;position:relative;color:#94a3b8;background:#f8fafc0d;border:1px solid rgba(248,250,252,.1);transition:all .15s ease;font-size:clamp(.9rem,.85rem + .1vw,1rem)}.topbar__notification:hover{color:#f8fafc;background:#f8fafc1a}.topbar__notification-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#ef4444;color:#fff;font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;border:2px solid #164e63}.topbar__mobile-toggle{display:none;border:none;background:transparent;color:#f8fafc;padding:.5rem;cursor:pointer;font-size:1.1rem}.user-menu{position:relative}.user-trigger{border:1px solid rgba(248,250,252,.15);background:#f8fafc0d;padding:clamp(.25rem,.2rem + .1vw,.35rem) clamp(.375rem,.3rem + .15vw,.5rem);border-radius:999px;display:inline-flex;align-items:center;gap:clamp(.3rem,.25rem + .1vw,.4rem);cursor:pointer;transition:all .15s ease}.user-trigger:hover{background:#f8fafc1a}.user-trigger .avatar{width:clamp(28px,24px + .4vw,32px);height:clamp(28px,24px + .4vw,32px);border-radius:999px;background:#22d3ee;color:#0f172a;display:inline-flex;align-items:center;justify-content:center;font-weight:600;font-size:clamp(.7rem,.65rem + .1vw,.8rem)}.user-trigger .chevron{color:#94a3b8;font-size:.7rem;transition:transform .15s ease}.user-trigger.open .chevron{transform:rotate(180deg)}.user-menu__dropdown{position:absolute;right:0;margin-top:.5rem;width:260px;background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 10px 40px #0f172a1f,0 4px 12px #0f172a14;overflow:hidden;animation:fadeIn .12s ease-out;z-index:200}.user-menu__header{display:flex;align-items:center;gap:.875rem;padding:1rem 1.125rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0}.user-menu__header .avatar.large{width:48px;height:48px;font-size:1.125rem;background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;box-shadow:0 2px 8px #0891b24d}.user-menu__name{font-weight:700;color:#0f172a;font-size:.95rem}.user-menu__role{color:#64748b;font-size:.8rem;margin-top:.125rem}.user-menu__item{width:100%;display:inline-flex;align-items:center;gap:.65rem;padding:.75rem 1rem;border:none;background:transparent;text-align:left;color:#0f172a;cursor:pointer;text-decoration:none;font-weight:500;font-size:.9rem;transition:all .15s ease}.user-menu__item svg{color:#64748b;font-size:.95rem}.user-menu__item:hover{background:#f1f5f9}.user-menu__item.danger,button.user-menu__item.danger{color:#475569;border-top:1px solid #e2e8f0;margin-top:.25rem;background:transparent!important}.user-menu__item.danger svg{color:#ef4444}.user-menu__item.danger:hover,button.user-menu__item.danger:hover{background:#f8fafc!important;color:#334155}.topbar__mobile-nav{position:fixed;top:60px;left:0;right:0;background:#164e63;border-bottom:1px solid rgba(248,250,252,.1);padding:.5rem;display:flex;flex-direction:column;gap:.25rem;z-index:99;animation:slideDown .15s ease-out}.topbar__mobile-nav-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-radius:.5rem;color:#cbd5f5;text-decoration:none;font-weight:500}.topbar__mobile-nav-link:hover{background:#f8fafc14}.topbar__mobile-nav-link.active{background:#22d3ee;color:#0f172a}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media(max-width:1400px){.topbar{padding:0 .75rem;height:54px}.topbar__left{gap:1rem}.topbar__right{gap:.375rem}.topbar__brand-logo{height:32px}.topbar__brand{font-size:1rem;gap:.375rem}.topbar__search{padding:.3rem .65rem}.topbar__search input{width:100px;font-size:.8125rem}.topbar__nav-link{padding:.375rem .5rem;font-size:.75rem;gap:.3rem}.topbar__notification{width:34px;height:34px;font-size:.9rem}.user-trigger{padding:.25rem .375rem}.user-trigger .avatar{width:28px;height:28px;font-size:.7rem}.user-menu__dropdown{width:230px}.user-menu__header{padding:.75rem 1rem;gap:.65rem}.user-menu__header .avatar.large{width:40px;height:40px;font-size:1rem}.user-menu__name{font-size:.875rem}.user-menu__role{font-size:.7rem}.user-menu__item{padding:.625rem .875rem;font-size:.8125rem;gap:.5rem}}@media(max-width:1200px){.topbar__nav-label{display:none}.topbar__nav-link{padding:.5rem}.topbar__nav-icon{font-size:1rem}.topbar__search{display:none}}@media(max-width:768px){.topbar{padding:0 1rem}.topbar__nav,.topbar__search{display:none}.topbar__mobile-toggle{display:inline-flex}.topbar__brand-text{display:none}}.app-shell{display:flex;height:100vh;min-height:100vh;overflow:hidden}.app-shell--horizontal{flex-direction:column}.app-shell--fullscreen{height:100vh;overflow:hidden}.app-shell__content{flex:1;display:flex;flex-direction:column;background:#f1f5f9}.app-shell--horizontal .app-shell__main{flex:1;padding:clamp(.75rem,.5rem + .5vw,1.5rem);overflow-y:auto;background:#f1f5f9}.app-shell__main{flex:1;padding:clamp(.75rem,.5rem + .5vw,1.5rem);overflow-y:auto}.app-shell__main.notebook-no-scroll{overflow:hidden}.app-shell__main--fullscreen{padding:0;height:100vh;max-height:100vh}@media(max-width:1400px){.app-shell__main,.app-shell--horizontal .app-shell__main{padding:.75rem}}@media(max-width:1024px){.app-shell__main,.app-shell--horizontal .app-shell__main{padding:1rem}}@media(max-width:768px){.app-shell__main,.app-shell--horizontal .app-shell__main{padding:1rem}}.page-section{background:#fff;border-radius:clamp(.5rem,.4rem + .2vw,.75rem);padding:clamp(.625rem,.4rem + .4vw,1rem) clamp(.75rem,.5rem + .5vw,1.25rem);box-shadow:0 1px 3px #0f172a0f,0 1px 2px #0f172a0a;margin-bottom:clamp(.5rem,.4rem + .3vw,.875rem);border:1px solid #e2e8f0;transition:box-shadow .2s ease}@media(max-width:1400px){.page-section{padding:.625rem .75rem;margin-bottom:.5rem;border-radius:.5rem}}.page-section:hover{box-shadow:0 4px 6px #0f172a12,0 2px 4px #0f172a0d}.page-header{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:clamp(.5rem,.4rem + .2vw,.75rem);padding:clamp(.625rem,.4rem + .4vw,1rem) clamp(1rem,.75rem + .5vw,1.5rem);margin-bottom:clamp(.625rem,.5rem + .3vw,1rem);box-shadow:0 1px 3px #0f172a0f,0 1px 2px #0f172a0a;border:1px solid #e2e8f0}.page-header h1{margin:0 0 .25rem;font-size:clamp(1.125rem,1rem + .25vw,1.375rem);font-weight:700;color:#0f172a;display:flex;align-items:center;gap:clamp(.375rem,.3rem + .15vw,.5rem);line-height:1.3}.page-header p{margin:0;font-size:clamp(.7rem,.6rem + .15vw,.8125rem);color:#64748b;line-height:1.4}@media(max-width:1400px){.page-header{padding:.625rem 1rem;margin-bottom:.625rem}.page-header h1{font-size:1.125rem;gap:.375rem}.page-header p{font-size:.7rem}}@media(max-width:640px){.page-header{padding:1.25rem 1.5rem}.page-header h1{font-size:1.5rem}}.grid{display:grid;gap:1rem}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid.cols-4,.grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}}.stat-card{background:#fff;border-radius:.625rem;padding:.875rem 1rem;border:1px solid #e2e8f0;transition:all .2s ease;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#06b6d4,#0891b2);opacity:0;transition:opacity .2s ease}.stat-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #0f172a14}.stat-card:hover:before{opacity:1}.stat-card h4{margin:0 0 .375rem;font-size:.6875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.025em}.stat-card strong{font-size:1.375rem;color:#0f172a;font-weight:700;line-height:1.2}.stat-card.primary{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border:none}.stat-card.primary h4{color:#ffffffe6}.stat-card.primary strong{color:#fff}.stat-card.primary:before{display:none}.stat-card.dark{background:linear-gradient(135deg,#164e63,#155e75);color:#fff;border:none}.stat-card.dark h4{color:#ffffffd9}.stat-card.dark strong{color:#fff}.hero-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(.5rem,.35rem + .2vw,.75rem);margin-bottom:clamp(.625rem,.5rem + .3vw,1rem)}@media(max-width:1400px){.hero-grid{grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:.625rem}.hero-card{padding:.625rem .75rem;gap:.125rem}.hero-card strong{font-size:1.375rem;line-height:1}.hero-card p{font-size:.575rem;letter-spacing:.03em}.hero-card span{font-size:.65rem}}@media(max-width:1200px){.hero-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.hero-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.hero-grid{grid-template-columns:1fr}}.hero-card{border-radius:clamp(.5rem,.4rem + .2vw,.75rem);padding:clamp(.625rem,.5rem + .3vw,1rem) clamp(.75rem,.6rem + .4vw,1.25rem);color:#0f172a;display:flex;flex-direction:column;gap:clamp(.125rem,.1rem + .1vw,.25rem);border:1px solid #e2e8f0;background:#fff;transition:all .2s ease;position:relative;overflow:hidden}.hero-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0f172a1a}.hero-card+.hero-card{margin-top:0}.hero-card p{margin:0;font-size:clamp(.575rem,.5rem + .1vw,.6875rem);letter-spacing:clamp(.03em,.02em + .02vw,.05em);text-transform:uppercase;font-weight:600;color:#64748b}.hero-card strong{font-size:clamp(1.375rem,1.1rem + .4vw,1.75rem);font-weight:700;line-height:1.1}.hero-card span{font-size:clamp(.65rem,.55rem + .15vw,.75rem);color:#64748b}.hero-card.primary{background:linear-gradient(135deg,var(--primary-bg-light, #eff6ff),var(--primary-bg, #dbeafe))}.hero-card.warning{background:linear-gradient(135deg,var(--bg-secondary, #f8fafc),var(--bg-tertiary, #f1f5f9))}.hero-card.accent{background:linear-gradient(135deg,var(--primary-bg-light, #eff6ff),var(--primary-bg, #dbeafe))}.section-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.section-header h3{margin:0;font-size:.9375rem}.section-header p{margin:.125rem 0 0;color:#64748b;font-size:.75rem}.section-header__actions{display:flex;align-items:center;gap:.5rem}.segmented-control{display:inline-flex;border-radius:999px;background:#e2e8f0;padding:.15rem}.segmented-control__option{border-radius:999px;padding:.25rem .85rem;font-size:.85rem;background:transparent;color:#475569}.segmented-control__option.active{background:#fff;color:#0e7490;box-shadow:0 1px 3px #0891b233}.quick-stats{display:flex;flex-direction:column;gap:.5rem}.quick-stats__row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e2e8f0}.quick-stats__row:last-child{border-bottom:none}.quick-stats__row p{margin:0;font-weight:600}.quick-stats__row small{color:#94a3b8}.quick-stats__value{display:flex;align-items:center;gap:.375rem}.quick-stats__value strong{font-size:1rem}.quick-stats__trend{font-size:.75rem;font-weight:600;padding:.1rem .4rem;border-radius:999px}.quick-stats__trend.up{background:var(--primary-bg, #cffafe);color:var(--primary-dark, #0e7490)}.quick-stats__trend.down{background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary, #0f172a)}.stat-list{display:flex;flex-direction:column;border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}.stat-list__item{display:flex;justify-content:space-between;padding:.85rem 1rem;background:#fff;border-bottom:1px solid #e2e8f0}.stat-list__item:last-child{border-bottom:none}.table-empty{border:2px dashed #cbd5e1;border-radius:.75rem;padding:1.5rem;text-align:center;color:#64748b;background:#f8fafc}.alert-panel{border-radius:1rem;padding:1rem;background:#fff;box-shadow:inset 0 0 0 1px #e2e8f0}.alert-panel--danger{background:linear-gradient(135deg,var(--bg-tertiary, #f1f5f9),var(--border-light, #e2e8f0))}.alert-panel--warning{background:linear-gradient(135deg,var(--bg-secondary, #f8fafc),var(--bg-tertiary, #f1f5f9))}.alert-panel--success{background:linear-gradient(135deg,var(--primary-bg-light, #eff6ff),var(--primary-bg, #dbeafe))}.alert-panel__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.alert-panel ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.alert-panel li{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;font-size:.9rem}.alert-panel li span{color:#94a3b8;font-size:.75rem}.table-wrapper{overflow-x:auto;background:#fff;border-radius:1rem;box-shadow:inset 0 0 0 1px #e2e8f0}table{width:100%;border-collapse:collapse;table-layout:fixed}table th,table td{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;text-align:left;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table th{font-size:.85rem;color:#475569;text-transform:uppercase;letter-spacing:.04em}.badge{border-radius:999px;padding:.2rem .75rem;font-size:.8rem;font-weight:600;display:inline-flex;text-transform:capitalize}.badge.warning{background:#fef3c7;color:#b45309}.btn-outline{border:1px solid #a5f3fc;background:#fff;color:#0e7490;padding:.35rem .9rem;border-radius:999px;font-size:.85rem;font-weight:600}.btn-outline:hover:not(:disabled){border-color:#0891b2;color:#0891b2}.section-header__actions .btn-outline{white-space:nowrap}.tabs-container{display:flex;gap:.375rem;margin-bottom:1rem;padding:.375rem;background:#f1f5f9;border-radius:.75rem;flex-wrap:wrap}.tab-button{padding:.5rem 1rem;border:none;border-radius:.5rem;background:transparent;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.375rem;font-size:.8125rem}.tab-button:hover{background:#ffffff80;color:#334155}.tab-button.active{background:#fff;color:#0891b2;font-weight:600;box-shadow:0 2px 8px #0000000f}.tab-badge{background:#ef4444;color:#fff;border-radius:1rem;padding:.125rem .5rem;font-size:.75rem;font-weight:700;min-width:1.25rem;text-align:center}.card{background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;overflow:hidden;transition:all .2s ease}.card:hover{box-shadow:0 4px 12px #0f172a14}.card-header{padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.card-body{padding:1.5rem}.card-footer{padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc}.filter-panel{background:#fff;padding:1rem 1.25rem;border-radius:.75rem;margin-bottom:1rem;border:1px solid #e2e8f0}.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.filter-label{display:block;margin-bottom:.375rem;font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.filter-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e2e8f0}.filter-toggle-btn{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fff;color:#475569;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;font-weight:500;font-size:.8125rem;transition:all .2s ease}.filter-toggle-btn:hover{background:#f8fafc;border-color:#cbd5e1}.filter-toggle-btn.active{background:#0891b2;color:#fff;border-color:#0891b2}.filter-badge{background:#0891b2;color:#fff;border-radius:50%;width:18px;height:18px;font-size:.75rem;display:flex;align-items:center;justify-content:center;font-weight:600}.filter-toggle-btn.active .filter-badge{background:#fff;color:#0891b2}.table-container{overflow-x:auto;border-radius:.75rem;border:1px solid #e2e8f0}.modern-table{width:100%;border-collapse:collapse;font-size:.875rem}.modern-table th{padding:.75rem 1rem;text-align:left;font-size:.6875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #e2e8f0}.modern-table td{padding:.625rem 1rem;border-bottom:1px solid #f1f5f9;vertical-align:middle}.modern-table tbody tr{transition:background .15s ease}.modern-table tbody tr:hover{background:#f8fafc}.modern-table tbody tr:last-child td{border-bottom:none}.hide-mobile{display:block}.show-mobile{display:none}@media(max-width:768px){.hide-mobile{display:none}.show-mobile{display:block}}.stack-mobile{display:flex;gap:1rem}@media(max-width:640px){.stack-mobile{flex-direction:column}}.form-input,.form-select{width:100%;padding:.75rem 1rem;border:1px solid #e2e8f0;border-radius:.75rem;font-size:.9375rem;transition:all .2s ease;background:#fff}.form-input:focus,.form-select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.form-input::placeholder{color:#94a3b8}.form-label{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem;font-weight:600;color:#334155}@media(max-width:768px){.form-input,.form-select{padding:.875rem 1rem;font-size:16px;border-radius:.625rem}.form-label{font-size:.8125rem}}@media(hover:none)and (pointer:coarse){.form-input,.form-select{min-height:48px}}.actions-row{display:flex;justify-content:flex-end;gap:.75rem;flex-wrap:wrap;margin-bottom:1rem}@media(max-width:640px){.actions-row{justify-content:stretch;flex-direction:column}.actions-row button{flex:1;justify-content:center;width:100%}}.empty-state-title{font-size:1.125rem;font-weight:600;color:#334155;margin-bottom:.5rem}.empty-state-description{font-size:.875rem;max-width:24rem;margin:0 auto}.shortcuts-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.shortcuts-modal{background:#fff;border-radius:12px;width:100%;max-width:560px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.shortcuts-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.shortcuts-title{display:flex;align-items:center;gap:.75rem}.shortcuts-title svg{font-size:1.25rem;color:#4f46e5}.shortcuts-title h2{margin:0;font-size:1.125rem;font-weight:600;color:#1e293b}.shortcuts-body{flex:1;overflow-y:auto;padding:1.5rem}.shortcuts-intro{margin:0 0 1.5rem;padding:.75rem 1rem;background:#f8fafc;border-radius:8px;font-size:.875rem;color:#64748b}.shortcuts-intro kbd{display:inline-block;padding:.125rem .375rem;background:#fff;border:1px solid #e2e8f0;border-radius:4px;font-family:inherit;font-size:.8125rem;color:#374151;box-shadow:0 1px 2px #0000000d}.shortcut-group{margin-bottom:1.5rem}.shortcut-group:last-child{margin-bottom:0}.shortcut-group h3{margin:0 0 .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.shortcut-list{display:flex;flex-direction:column;gap:.5rem}.shortcut-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:#f8fafc;border-radius:8px}.shortcut-description{font-size:.875rem;color:#374151}.shortcut-keys{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-family:SF Mono,Monaco,Consolas,monospace;font-size:.75rem;color:#374151;box-shadow:0 1px 2px #0000000d;white-space:nowrap}.shortcuts-footer{display:flex;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid #e2e8f0}.shortcuts-footer .btn-secondary{padding:.5rem 1rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;color:#475569;transition:all .2s}.shortcuts-footer .btn-secondary:hover{background:#e2e8f0}@media(max-width:480px){.shortcuts-modal{max-height:100vh;border-radius:0}.shortcut-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.template-selector-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.template-selector-modal{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.template-selector-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #e2e8f0}.template-selector-header h2{margin:0;font-size:1.25rem;font-weight:600;color:#1e293b}.close-btn{padding:.5rem;background:none;border:none;cursor:pointer;color:#64748b;border-radius:6px;transition:all .2s}.close-btn:hover{background:#f1f5f9;color:#1e293b}.template-selector-body{flex:1;overflow:auto;padding:1.5rem}.template-categories{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.category-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.875rem;color:#64748b;transition:all .2s}.category-btn:hover{background:#f1f5f9;border-color:#cbd5e1}.category-btn.active{background:#0891b2;border-color:#0891b2;color:#fff}.category-btn svg{font-size:.875rem}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.template-card{position:relative;padding:1.25rem;background:#f8fafc;border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s}.template-card:hover{background:#f1f5f9;border-color:#e2e8f0}.template-card.selected{background:#ecfeff;border-color:#06b6d4}.template-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;margin-bottom:1rem;font-size:1.25rem;color:#0891b2;box-shadow:0 1px 3px #0000001a}.template-card.selected .template-icon{background:#06b6d4;color:#fff}.template-info h3{margin:0 0 .25rem;font-size:.9375rem;font-weight:600;color:#1e293b}.template-info p{margin:0 0 .75rem;font-size:.8125rem;color:#64748b;line-height:1.4}.template-category{display:inline-block;padding:.25rem .5rem;background:#fff;border-radius:4px;font-size:.6875rem;font-weight:500;text-transform:uppercase;color:#64748b}.template-card.selected .template-category{background:#ecfeff;color:#0e7490}.selected-indicator{position:absolute;top:.75rem;right:.75rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#06b6d4;color:#fff;border-radius:50%;font-size:.75rem}.template-selector-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e2e8f0}.template-selector-footer .btn-secondary{padding:.625rem 1.25rem;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:#475569;transition:all .2s}.template-selector-footer .btn-secondary:hover{background:#e2e8f0}.template-selector-footer .btn-primary{padding:.625rem 1.25rem;background:#0891b2;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;color:#fff;transition:all .2s}.template-selector-footer .btn-primary:hover{background:#0e7490}.template-selector-footer .btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}.loading,.empty{grid-column:1 / -1;text-align:center;padding:3rem;color:#64748b}@media(max-width:640px){.template-selector-modal{max-height:100vh;border-radius:0}.template-grid{grid-template-columns:1fr}.template-categories{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.5rem}.category-btn{white-space:nowrap}}.dashboard-container{display:flex;flex-direction:column;gap:clamp(.375rem,.25rem + .25vw,.625rem);width:100%;height:auto;min-height:calc(100vh - clamp(52px,48px + .5vw,62px));min-height:calc(100dvh - clamp(52px,48px + .5vw,62px));padding:clamp(.375rem,.25rem + .2vw,.625rem);box-sizing:border-box;overflow-x:hidden;overflow-y:auto;background:#f1f5f9}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(90px,80px + 2vw,130px),1fr));gap:clamp(.25rem,.2rem + .15vw,.5rem);flex-shrink:0;width:100%}.chart-row,.chart-row-reverse{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(.375rem,.25rem + .2vw,.625rem);min-height:clamp(180px,160px + 2.5vw,220px);align-items:stretch;width:100%}.chart-row-equal{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(.375rem,.25rem + .2vw,.625rem);min-height:clamp(180px,160px + 2.5vw,220px);margin-bottom:clamp(.25rem,.2rem + .15vw,.5rem);align-items:stretch;width:100%}.distribution-container{display:flex;gap:clamp(.25rem,.2rem + .15vw,.5rem);height:clamp(200px,180px + 3vw,250px);flex-wrap:wrap}.distribution-item{flex:1 1 45%;min-width:min(140px,45%);display:flex;flex-direction:column;min-height:0}.pie-expand-target{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;background:transparent;cursor:zoom-in}.pie-expand-target:focus-visible{outline:2px solid #0891b2;outline-offset:3px}.dashboard-modal-overlay{position:fixed;inset:0;background:#0f172a73;display:flex;align-items:center;justify-content:center;z-index:50;padding:1rem}.dashboard-modal{width:min(680px,92vw);background:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 24px 60px #0f172a40;display:flex;flex-direction:column}.dashboard-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;background:#f8fafc}.dashboard-modal-title{font-size:.9rem;font-weight:600;color:#0f172a}.dashboard-modal-close{border:1px solid #a5f3fc;background:#ecfeff;color:#0e7490;font-size:.75rem;font-weight:600;padding:.3rem .6rem;border-radius:999px;cursor:pointer}.dashboard-modal-body{padding:1rem}.dashboard-modal-content{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1rem;align-items:center}.dashboard-modal-chart{width:100%;height:420px}.dashboard-modal-legend{display:flex;flex-direction:column;gap:.35rem;align-items:flex-start;max-height:420px;overflow-y:auto;padding-right:.25rem}.dashboard-modal-legend-item{display:inline-flex;align-items:center;gap:.4rem;padding:.2rem .5rem;border-radius:999px;background:#f8fafc;border:1px solid #e2e8f0}.dashboard-modal-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.dashboard-modal-legend-label{font-size:.7rem;color:#334155;font-weight:600}.dashboard-modal-legend-more{border:none;background:transparent;font-size:.7rem;color:#0e7490;padding-left:.2rem;cursor:pointer}@media screen and (max-width:768px){.dashboard-modal-content{grid-template-columns:1fr;gap:.75rem}.dashboard-modal-chart{height:280px}.dashboard-modal-legend{max-height:150px;flex-direction:row;flex-wrap:wrap;justify-content:center}.dashboard-modal-list{max-height:180px}}@media screen and (max-width:480px){.dashboard-modal{width:min(95vw,400px);max-height:90vh;max-height:90dvh}.dashboard-modal-overlay{padding:.5rem}.dashboard-modal-header{padding:.5rem .75rem}.dashboard-modal-title{font-size:.8rem}.dashboard-modal-body{padding:.75rem}.dashboard-modal-chart{height:240px}}.distribution-divider{width:1px;background:#e2e8f0;margin:.5rem 0;flex-shrink:0}.chart-container{height:clamp(145px,130px + 2vw,180px);overflow:hidden;position:relative;width:100%}.chart-container-tall{height:clamp(230px,210px + 2.5vw,280px);width:100%}.list-container{max-height:clamp(160px,145px + 2vw,195px);overflow-y:auto;-webkit-overflow-scrolling:touch}.list-container-paged{max-height:none;overflow:visible}.stat-card{min-height:clamp(44px,40px + .6vw,56px);transition:transform .15s ease,box-shadow .15s ease}.stat-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px #00000014}.stat-card-icon{font-size:clamp(.9rem,.85rem + .1vw,1rem)!important}.table-row{display:grid;grid-template-columns:clamp(20px,18px + .3vw,24px) minmax(0,1fr) auto;align-items:center;gap:clamp(.4rem,.35rem + .1vw,.5rem);padding:clamp(.4rem,.35rem + .1vw,.5rem) clamp(.5rem,.4rem + .15vw,.625rem);border-bottom:1px solid #edf2f7;transition:background-color .15s ease}.table-row:last-of-type{border-bottom:none}.table-row:hover{background:#f8fafc}.table-index{font-size:clamp(.6rem,.55rem + .05vw,.65rem);font-weight:700;color:#1e293b}.table-main{min-width:0}.table-title{font-weight:600;font-size:clamp(.65rem,.6rem + .08vw,.7rem);color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-subtitle{font-size:clamp(.55rem,.5rem + .08vw,.6rem);color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-subtitle-accent{margin-left:.5rem;color:#0891b2}.table-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.2rem;text-align:right}.table-meta-badges{flex-direction:row;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.table-meta-sub{font-size:.6rem;color:#94a3b8}.list-pagination{display:flex;justify-content:space-between;align-items:center;padding:clamp(.3rem,.25rem + .1vw,.375rem) clamp(.4rem,.35rem + .1vw,.5rem);border-top:1px solid #f1f5f9;background:#fafbfc}.list-pagination-btn{border:1px solid #e2e8f0;background:#fff;border-radius:.375rem;padding:clamp(.15rem,.12rem + .05vw,.2rem) clamp(.4rem,.35rem + .1vw,.5rem);font-size:clamp(.55rem,.5rem + .08vw,.6rem);color:#475569;cursor:pointer}.list-pagination-btn:disabled{cursor:not-allowed;opacity:.5}.list-pagination-meta{font-size:clamp(.55rem,.5rem + .08vw,.6rem);color:#64748b}.card-header-mobile-stack{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;border-bottom:1px solid #f1f5f9;background:#fafbfc;flex-shrink:0}@media screen and (max-width:1400px){.dashboard-container{padding:.5rem;gap:.5rem}.stats-row{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.35rem}.stat-card{min-height:48px;padding:.5rem .625rem!important}.stat-card-icon{font-size:.95rem!important}.chart-row,.chart-row-reverse,.chart-row-equal{grid-template-columns:repeat(2,minmax(0,1fr));min-height:185px;gap:.4rem}.chart-container{height:150px}.chart-container-tall{height:240px}.distribution-container{height:210px;gap:.4rem}.list-container{max-height:170px}.table-row{padding:.4rem .5rem;gap:.5rem}.table-index{font-size:.65rem}.table-title{font-size:.7rem}.table-subtitle{font-size:.575rem}.list-pagination{padding:.35rem .5rem}.list-pagination-btn{padding:.2rem .5rem;font-size:.6rem}.list-pagination-meta{font-size:.6rem}}@media screen and (max-width:1200px){.dashboard-container{padding:.5rem .625rem;gap:.5rem}.stats-row{grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:.35rem}.stat-card{min-height:46px;padding:.45rem .5rem!important}.stat-card-value{font-size:1rem!important}.chart-row,.chart-row-reverse,.chart-row-equal{grid-template-columns:repeat(2,minmax(0,1fr));min-height:180px;gap:.4rem}.chart-container{height:145px}.chart-container-tall{height:235px}.distribution-container{height:200px}}@media screen and (max-width:1024px){.dashboard-container{padding:.5rem;gap:.5rem}.stats-row{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.35rem}.stat-card{min-height:44px;padding:.4rem .5rem!important}.stat-card-label{font-size:.55rem!important}.stat-card-value{font-size:.95rem!important}.chart-row,.chart-row-reverse,.chart-row-equal{grid-template-columns:repeat(2,minmax(0,1fr));min-height:190px;gap:.4rem}.chart-container{height:155px}.chart-container-tall{height:235px}.distribution-container{height:195px}.list-container{max-height:175px}}@media screen and (max-width:768px){.dashboard-container{height:auto;min-height:calc(100vh - 56px);min-height:calc(100dvh - 56px);padding:.375rem;gap:.4rem}.stats-row{grid-template-columns:repeat(2,1fr);gap:.3rem}.stat-card{min-height:42px;padding:.375rem .5rem!important}.stat-card-icon{font-size:.875rem!important}.stat-card-label{font-size:.5rem!important}.stat-card-value{font-size:.875rem!important}.chart-row,.chart-row-reverse,.chart-row-equal{grid-template-columns:1fr;min-height:auto;gap:.4rem}.distribution-container{flex-direction:column;height:auto;min-height:260px}.distribution-item{flex:1 1 auto;min-width:100%;min-height:120px}.distribution-divider{width:100%;height:1px;margin:.25rem 0}.chart-container{height:180px}.chart-container-tall{height:220px}.list-container{max-height:200px}.card-header-mobile-stack{flex-direction:column;align-items:flex-start;gap:.4rem}.card-header-mobile-stack>div:last-child{align-self:flex-end}.table-row{padding:.35rem .4rem;gap:.4rem}.table-title{font-size:.68rem}.table-subtitle{font-size:.55rem}}@media screen and (max-width:480px){.dashboard-container{padding:.25rem;gap:.3rem}.stats-row{grid-template-columns:repeat(2,1fr);gap:.2rem}.stat-card{min-height:40px;padding:.35rem .4rem!important;gap:.4rem!important}.stat-card-icon{font-size:.8rem!important}.stat-card-label{font-size:.45rem!important}.stat-card-value{font-size:.8rem!important}.chart-container{height:160px}.chart-container-tall{height:200px}.list-container{max-height:180px}.distribution-container{min-height:220px}.distribution-item{min-height:100px}.mobile-badge{font-size:.55rem!important;padding:.1rem .3rem!important}.list-item{padding:.3rem .4rem!important}.list-item-title{font-size:.65rem!important}.list-item-subtitle{font-size:.55rem!important}.table-row{padding:.3rem;gap:.3rem;grid-template-columns:18px minmax(0,1fr) auto}.table-index{font-size:.55rem}.table-title{font-size:.62rem}.table-subtitle{font-size:.5rem}.list-pagination{padding:.25rem .35rem}.list-pagination-btn{padding:.15rem .35rem;font-size:.55rem}.list-pagination-meta{font-size:.55rem}}@media screen and (max-width:360px){.dashboard-container{padding:.2rem;gap:.25rem}.stats-row{grid-template-columns:repeat(2,1fr);gap:.15rem}.stat-card{min-height:38px;padding:.3rem!important;gap:.3rem!important}.stat-card-icon{font-size:.75rem!important}.stat-card-label{font-size:.4rem!important}.stat-card-value{font-size:.75rem!important}.chart-container{height:150px}.chart-container-tall{height:180px}.distribution-container{min-height:200px}.distribution-item{min-height:90px}}@media screen and (max-height:500px)and (orientation:landscape){.dashboard-container{padding:.25rem .5rem;gap:.3rem;min-height:auto}.stats-row{grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:.25rem}.stat-card{min-height:36px;padding:.25rem .4rem!important}.chart-row,.chart-row-reverse,.chart-row-equal{grid-template-columns:repeat(2,minmax(0,1fr));min-height:150px;gap:.3rem}.chart-container{height:130px}.chart-container-tall{height:170px}.distribution-container{height:160px}.list-container{max-height:140px}}@media(hover:none)and (pointer:coarse){.link-button{min-height:36px;min-width:56px;padding:.3rem .5rem}.segmented-control button{min-height:30px;padding:.35rem .5rem!important}.list-item{min-height:44px}.list-pagination-btn{min-height:32px;min-width:50px}.pie-expand-target{min-height:80px}.table-row{min-height:40px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{.dashboard-container{height:auto;overflow:visible;background:#fff}.link-button,.segmented-control{display:none!important}}.inventory-container{padding:clamp(.75rem,.6rem + .3vw,1rem);display:flex;flex-direction:column;gap:clamp(.75rem,.6rem + .3vw,1rem)}.inventory-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(120px,110px + 1.5vw,140px),1fr));gap:clamp(.5rem,.4rem + .2vw,.75rem)}.inventory-tabs{display:flex;gap:clamp(.375rem,.3rem + .15vw,.5rem);flex-wrap:wrap;margin-bottom:clamp(.75rem,.6rem + .3vw,1rem)}.inventory-tab{padding:clamp(.5rem,.4rem + .15vw,.625rem) clamp(.75rem,.6rem + .3vw,1rem);border:none;border-radius:.5rem;font-weight:500;font-size:clamp(.8rem,.75rem + .1vw,.875rem);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:clamp(.375rem,.3rem + .15vw,.5rem);white-space:nowrap}.inventory-filter-bar{display:flex;flex-wrap:wrap;gap:clamp(.5rem,.4rem + .2vw,.75rem);align-items:center;padding:clamp(.5rem,.4rem + .2vw,.75rem);background:#f8fafc;border-radius:.5rem;margin-bottom:clamp(.75rem,.6rem + .3vw,1rem)}.inventory-search{flex:1;min-width:200px;max-width:400px}.inventory-search input{width:100%;padding:clamp(.4rem,.35rem + .1vw,.5rem) clamp(.6rem,.5rem + .15vw,.75rem);border:1px solid #e2e8f0;border-radius:.375rem;font-size:clamp(.8rem,.75rem + .1vw,.875rem)}.inventory-filters{display:flex;gap:.5rem;flex-wrap:wrap}.inventory-filters select{padding:clamp(.4rem,.35rem + .1vw,.5rem) clamp(.6rem,.5rem + .15vw,.75rem);border:1px solid #e2e8f0;border-radius:.375rem;font-size:clamp(.8rem,.75rem + .1vw,.875rem);min-width:clamp(100px,90px + 1.5vw,120px)}.inventory-view-filters{display:flex;gap:.375rem;flex-wrap:wrap}.view-filter-btn{padding:.375rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.75rem;cursor:pointer;background:#fff;transition:all .15s;white-space:nowrap}.view-filter-btn.active{background:#06b6d4;color:#fff;border-color:#06b6d4}.inventory-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;justify-content:space-between;margin-bottom:1rem}.inventory-actions-left,.inventory-actions-right{display:flex;gap:.5rem;flex-wrap:wrap}.inventory-btn{padding:clamp(.4rem,.35rem + .1vw,.5rem) clamp(.7rem,.6rem + .15vw,.875rem);border-radius:.375rem;font-size:clamp(.72rem,.68rem + .08vw,.8rem);font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:clamp(.3rem,.25rem + .1vw,.375rem);white-space:nowrap}.inventory-btn-primary{background:#06b6d4;color:#fff;border:none}.inventory-btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(clamp(250px,230px + 2vw,280px),1fr));gap:clamp(.75rem,.6rem + .3vw,1rem)}.inventory-card{background:#fff;border-radius:.5rem;border:1px solid #e2e8f0;padding:clamp(.75rem,.6rem + .3vw,1rem);transition:all .2s}.inventory-card:hover{box-shadow:0 4px 12px #00000014}.inventory-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem}.inventory-card-title{font-weight:600;font-size:clamp(.8rem,.75rem + .1vw,.9rem);color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-card-body{display:flex;flex-direction:column;gap:.5rem}.inventory-card-row{display:flex;justify-content:space-between;font-size:clamp(.72rem,.68rem + .08vw,.8rem)}.inventory-card-label{color:#64748b}.inventory-card-value{font-weight:500;color:#1e293b}.inventory-card-actions{display:flex;gap:.5rem;margin-top:.75rem;flex-wrap:wrap}.inventory-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.pagination-btn{padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;background:#fff;cursor:pointer;font-size:.875rem}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:.875rem;color:#64748b}.bulk-actions-bar{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#ecfeff;border-radius:.5rem;margin-bottom:1rem;flex-wrap:wrap}.inventory-badge{padding:.25rem .5rem;border-radius:.25rem;font-size:.7rem;font-weight:600}.inventory-badge-warning{background:#fef3c7;color:#92400e}.inventory-badge-danger{background:#fee2e2;color:#991b1b}.inventory-badge-success{background:#dcfce7;color:#166534}.inventory-badge-info{background:#ecfeff;color:#0e7490}@media screen and (max-width:1400px){.inventory-container{padding:.875rem;gap:.875rem}.inventory-stats{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.625rem}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.875rem}.inventory-card{padding:.875rem}.inventory-card-title{font-size:.85rem}.inventory-card-row{font-size:.75rem}.inventory-tab{padding:.5rem .875rem;font-size:.8125rem}.inventory-btn{padding:.45rem .75rem;font-size:.75rem}.inventory-filter-bar{padding:.625rem;gap:.625rem}.inventory-search input{padding:.45rem .65rem;font-size:.8125rem}.inventory-filters select{padding:.45rem .65rem;font-size:.8125rem;min-width:110px}}@media screen and (max-width:1024px){.inventory-container{padding:.75rem}.inventory-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.inventory-filter-bar{flex-direction:column;align-items:stretch}.inventory-search{max-width:none}.inventory-actions{flex-direction:column;align-items:stretch}.inventory-actions-left,.inventory-actions-right{justify-content:center}}@media screen and (max-width:768px){.inventory-container{padding:.5rem;gap:.75rem}.inventory-stats{grid-template-columns:repeat(2,1fr);gap:.5rem}.inventory-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;flex-wrap:nowrap}.inventory-tab{padding:.5rem .75rem;font-size:.8rem}.inventory-filter-bar{padding:.5rem;gap:.5rem}.inventory-search input{padding:.625rem .75rem;font-size:16px}.inventory-filters{width:100%}.inventory-filters select{flex:1;min-width:0;padding:.625rem;font-size:16px}.inventory-view-filters{width:100%;justify-content:center}.view-filter-btn{flex:1;text-align:center;padding:.5rem;font-size:.7rem}.inventory-grid{grid-template-columns:1fr;gap:.75rem}.inventory-card{padding:.875rem}.inventory-card-actions{justify-content:space-between}.inventory-btn{padding:.625rem .75rem;font-size:.75rem;flex:1;justify-content:center}.bulk-actions-bar{flex-direction:column;text-align:center}.inventory-pagination{flex-direction:column;gap:.75rem}}@media screen and (max-width:480px){.inventory-container{padding:.375rem}.inventory-stats{grid-template-columns:1fr 1fr}.inventory-tab{padding:.5rem .625rem;font-size:.75rem}.inventory-tab .tab-icon{display:none}.inventory-card-header{flex-direction:column;gap:.375rem}.inventory-card-actions{flex-direction:column}.inventory-btn{width:100%}}@media(hover:none)and (pointer:coarse){.inventory-tab,.view-filter-btn,.inventory-btn,.pagination-btn{min-height:44px;min-width:44px}.inventory-search input,.inventory-filters select{min-height:48px;font-size:16px}.inventory-card{padding:1rem}.inventory-card-actions .inventory-btn{padding:.75rem 1rem}}@media print{.inventory-tabs,.inventory-filter-bar,.inventory-actions,.inventory-pagination,.bulk-actions-bar{display:none!important}.inventory-grid{display:block}.inventory-card{break-inside:avoid;margin-bottom:1rem;box-shadow:none;border:1px solid #ccc}}.borrowing-container{padding:clamp(.75rem,.6rem + .3vw,1rem);display:flex;flex-direction:column;gap:clamp(.75rem,.6rem + .3vw,1rem)}.borrowing-tabs{display:flex;gap:clamp(.25rem,.2rem + .1vw,.375rem);margin-bottom:clamp(1rem,.8rem + .4vw,1.5rem);padding:clamp(.375rem,.3rem + .15vw,.5rem);background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:1rem;flex-wrap:wrap;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000a}.borrowing-tab{padding:clamp(.625rem,.5rem + .25vw,.875rem) clamp(.875rem,.7rem + .35vw,1.25rem);border:none;border-radius:.625rem;font-weight:500;font-size:clamp(.8rem,.75rem + .1vw,.875rem);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:clamp(.375rem,.3rem + .1vw,.5rem);background:transparent;color:#64748b;white-space:nowrap;position:relative}.borrowing-tab:hover:not(.active){background:#ffffffb3;color:#475569}.borrowing-tab.active{background:#fff;color:#06b6d4;font-weight:600;box-shadow:0 2px 8px #06b6d426,0 1px 3px #0000000f}.borrowing-tab-icon{font-size:clamp(.8rem,.75rem + .1vw,.9rem);flex-shrink:0;transition:transform .2s ease}.borrowing-tab:hover .borrowing-tab-icon{transform:scale(1.1)}.borrowing-tab.active .borrowing-tab-icon{color:#06b6d4}.borrowing-tab-text{font-family:inherit}.borrowing-tab-badge{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-radius:1rem;padding:.125rem .5rem;font-size:.7rem;font-weight:700;min-width:1.25rem;text-align:center;margin-left:.25rem;box-shadow:0 1px 2px #ef44444d;animation:pulse-badge 2s infinite}@keyframes pulse-badge{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.borrowing-card{background:#fff;border-radius:.5rem;padding:clamp(.75rem,.6rem + .3vw,1rem);border:1px solid #e2e8f0;margin-bottom:clamp(.75rem,.6rem + .3vw,1rem)}.borrowing-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.borrowing-card-icon{width:32px;height:32px;border-radius:.375rem;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.borrowing-card-title{font-size:clamp(.8rem,.75rem + .1vw,.9rem);font-weight:600;color:#1e293b}.borrowing-form-grid{display:grid;gap:clamp(.5rem,.4rem + .2vw,.75rem);grid-template-columns:repeat(auto-fit,minmax(clamp(160px,140px + 2vw,180px),1fr))}.borrowing-input-group{display:flex;flex-direction:column;gap:.25rem}.borrowing-label{font-size:.75rem;font-weight:600;color:#475569;display:flex;align-items:center;gap:.25rem}.borrowing-input{padding:clamp(.4rem,.35rem + .1vw,.5rem) clamp(.6rem,.5rem + .15vw,.75rem);border:1px solid #e2e8f0;border-radius:.375rem;font-size:clamp(.8rem,.75rem + .08vw,.85rem);transition:all .2s}.borrowing-input:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.borrowing-table-container{background:#fff;border-radius:.375rem;overflow:hidden;border:1px solid #e2e8f0}.borrowing-table{width:100%;border-collapse:collapse}.borrowing-table th{background:#f8fafc;padding:clamp(.5rem,.4rem + .2vw,.75rem);text-align:left;font-size:clamp(.65rem,.6rem + .08vw,.75rem);font-weight:600;color:#475569;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.borrowing-table td{padding:clamp(.5rem,.4rem + .2vw,.75rem);border-top:1px solid #f1f5f9;font-size:clamp(.78rem,.72rem + .08vw,.85rem)}.borrowing-table tr:hover{background:#f8fafc}.borrowing-status{padding:.25rem .5rem;border-radius:.25rem;font-weight:500;font-size:.7rem;text-transform:capitalize;display:inline-flex;align-items:center;gap:.125rem;white-space:nowrap}.borrowing-status-pending{background:#f8fafc;color:#475569;border:1px solid #cbd5e1}.borrowing-status-approved{background:#f0fdf4;color:#166534;border:1px solid #86efac}.borrowing-status-rejected{background:#fef2f2;color:#991b1b;border:1px solid #fca5a5}.borrowing-status-returned{background:#f8fafc;color:#1e293b;border:1px solid #94a3b8}.borrowing-status-overdue{background:#fef2f2;color:#dc2626;border:1px solid #fca5a5}.borrowing-action-btn{padding:.25rem .5rem;border-radius:.25rem;border:1px solid #e2e8f0;font-weight:500;font-size:.7rem;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:.25rem;background:#fff;color:#475569;white-space:nowrap}.borrowing-action-btn:hover{background:#f1f5f9}.borrowing-empty-state{text-align:center;padding:2rem 1rem;background:#f8fafc;border-radius:.375rem;border:1px dashed #e2e8f0}.borrowing-empty-icon{font-size:2.5rem;margin-bottom:.75rem}.borrowing-empty-title{font-weight:600;color:#475569;margin-bottom:.25rem}.borrowing-empty-text{font-size:.85rem;color:#94a3b8}.borrowing-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(clamp(130px,120px + 1.5vw,150px),1fr));gap:clamp(.5rem,.4rem + .2vw,.75rem);margin-bottom:clamp(.75rem,.6rem + .3vw,1rem)}.borrowing-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media screen and (max-width:1400px){.borrowing-container{padding:.875rem;gap:.875rem}.borrowing-tabs{padding:.375rem;gap:.25rem}.borrowing-tab{padding:.625rem 1rem;font-size:.8rem}.borrowing-tab-icon{font-size:.8rem}.borrowing-card{padding:.875rem;margin-bottom:.875rem}.borrowing-card-title{font-size:.85rem}.borrowing-form-grid{gap:.625rem}.borrowing-input{padding:.45rem .65rem;font-size:.8125rem}.borrowing-table th,.borrowing-table td{padding:.625rem;font-size:.8rem}.borrowing-table th{font-size:.7rem}.borrowing-stats-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.625rem}}@media screen and (max-width:1024px){.borrowing-container{padding:.75rem}.borrowing-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding:.375rem;scrollbar-width:none;-ms-overflow-style:none}.borrowing-tabs::-webkit-scrollbar{display:none}.borrowing-tab{padding:.625rem .875rem;font-size:.8rem;flex-shrink:0}.borrowing-tab-icon{font-size:.85rem}.borrowing-dashboard-grid{grid-template-columns:1fr}.borrowing-form-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}@media screen and (max-width:768px){.borrowing-container{padding:.5rem;gap:.75rem}.borrowing-tabs{gap:.25rem;padding:.25rem;border-radius:.75rem;overflow-x:auto;flex-wrap:nowrap}.borrowing-tab{padding:.5rem .625rem;font-size:.75rem;border-radius:.5rem;flex-shrink:0;justify-content:center;text-align:center;flex-direction:column;gap:.25rem}.borrowing-tab-text{display:none}.borrowing-tab-icon{font-size:1rem}.borrowing-card{padding:.75rem}.borrowing-card-header{gap:.5rem}.borrowing-form-grid{grid-template-columns:1fr}.borrowing-input{padding:.625rem .75rem;font-size:16px}.borrowing-table-container{background:transparent;border:none}.borrowing-table thead{display:none}.borrowing-table tbody{display:flex;flex-direction:column;gap:.75rem}.borrowing-table tr{display:flex;flex-direction:column;background:#fff;border-radius:.5rem;border:1px solid #e2e8f0;padding:.75rem}.borrowing-table td{display:flex;justify-content:space-between;align-items:center;padding:.375rem 0;border:none;border-bottom:1px solid #f1f5f9}.borrowing-table td:last-child{border-bottom:none;padding-top:.5rem}.borrowing-table td:before{content:attr(data-label);font-weight:600;color:#64748b;font-size:.75rem;text-transform:uppercase}.borrowing-stats-row{grid-template-columns:repeat(2,1fr);gap:.5rem}.borrowing-empty-state{padding:1.5rem 1rem}}@media screen and (max-width:480px){.borrowing-container{padding:.375rem}.borrowing-tabs{padding:.25rem}.borrowing-tab{padding:.5rem;min-width:0}.borrowing-tab-icon{font-size:.9rem}.borrowing-tab-badge{font-size:.6rem;padding:.1rem .3rem;min-width:1rem}.borrowing-card-icon{width:28px;height:28px;font-size:.875rem}.borrowing-card-title{font-size:.85rem}.borrowing-stats-row{grid-template-columns:1fr}}@media(hover:none)and (pointer:coarse){.borrowing-tab,.borrowing-action-btn,.borrowing-input{min-height:44px}.borrowing-tab{padding:.625rem .75rem}.borrowing-input{font-size:16px}.borrowing-action-btn{padding:.5rem .75rem}.borrowing-table td{padding:.625rem 0}.borrowing-tab:active{transform:scale(.98)}}@media print{.borrowing-tabs,.borrowing-action-btn{display:none!important}.borrowing-table-container{box-shadow:none}}.alerts-container{display:flex;flex-direction:column;gap:1rem}.alerts-stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.alerts-tabs{display:flex;gap:.5rem;padding:.5rem;background-color:#f1f5f9;border-radius:1rem;flex-wrap:wrap}.alerts-tab{padding:.75rem 1.25rem;border:none;border-radius:.75rem;font-weight:500;color:#64748b;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;font-size:.85rem}.alerts-tab.active{background-color:#fff;font-weight:600;color:#0891b2;box-shadow:0 2px 8px #00000014}.alerts-card{background-color:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.alerts-card-header{padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.alerts-list{display:flex;flex-direction:column}.alert-item{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #f1f5f9;transition:background-color .2s}.alert-item:hover{background-color:#f8fafc}.alert-icon{flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center}.alert-content{flex:1;min-width:0}.alert-title{font-weight:600;color:#0f172a;margin-bottom:.25rem;font-size:.9rem}.alert-description{color:#64748b;font-size:.825rem;line-height:1.4}.alert-meta{display:flex;gap:.75rem;margin-top:.5rem;font-size:.75rem;color:#94a3b8}.alert-actions{display:flex;gap:.5rem;flex-shrink:0}.alert-generation-panel{padding:1rem 1.25rem;display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}@media screen and (max-width:1024px){.alerts-stats-row{grid-template-columns:repeat(2,1fr)}.alerts-tabs{gap:.375rem}.alerts-tab{padding:.625rem 1rem;font-size:.8rem}}@media screen and (max-width:768px){.alerts-stats-row{grid-template-columns:repeat(2,1fr);gap:.5rem}.alerts-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding:.375rem;border-radius:.75rem;scrollbar-width:none;-ms-overflow-style:none}.alerts-tabs::-webkit-scrollbar{display:none}.alerts-tab{flex-shrink:0;padding:.5rem .875rem;font-size:.75rem;border-radius:.5rem}.alerts-card-header{padding:.875rem 1rem;flex-direction:column;align-items:flex-start}.alert-item{padding:.875rem 1rem;gap:.75rem}.alert-icon{width:2rem;height:2rem;font-size:.875rem}.alert-title{font-size:.85rem}.alert-description{font-size:.775rem}.alert-meta{flex-wrap:wrap;gap:.5rem}.alert-actions{margin-top:.5rem;width:100%;justify-content:flex-start}.alert-generation-panel{padding:.875rem 1rem;flex-direction:column;align-items:stretch}}@media screen and (max-width:480px){.alerts-stats-row{grid-template-columns:1fr 1fr;gap:.5rem}.alerts-stats-row>div{padding:.75rem}.alert-item{flex-direction:column;align-items:flex-start}.alert-item .alert-content,.alert-actions{width:100%}.alerts-card-header h3{font-size:.9rem}}@media screen and (max-width:360px){.alerts-stats-row{grid-template-columns:1fr}.alerts-tab{padding:.45rem .75rem}}@media(hover:none)and (pointer:coarse){.alerts-tab,.alert-item button{min-height:44px}.alert-item{padding:1rem}.alert-generation-panel input,.alert-generation-panel select{min-height:48px;font-size:16px}}@media print{.alerts-tabs,.alert-actions,.alert-generation-panel{display:none}.alerts-card{box-shadow:none;border:1px solid #ccc}}.users-page-header{margin-bottom:2rem}.users-page-header h1{font-size:1.75rem;font-weight:700;color:#1f2937;margin:0 0 .5rem}.users-page-header p{color:#64748b;margin:0}.users-tabs{display:flex;gap:.25rem;margin-bottom:1rem;border-bottom:2px solid #e5e7eb;padding-bottom:0;flex-wrap:wrap;row-gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch}.users-tab{display:inline-flex;align-items:center;gap:.35rem;padding:.5rem 1rem;border:none;border-bottom:3px solid transparent;background:transparent;font-size:.875rem;font-weight:500;color:#64748b;cursor:pointer;margin-bottom:-2px;transition:all .2s;border-radius:8px 8px 0 0}.users-tab:hover{color:#374151;background:#f8fafc}.users-tab.active{color:#06b6d4;border-bottom-color:#06b6d4;font-weight:600;background:#ecfeff}.users-tab .tab-icon{font-size:1rem}.users-tab-content{display:flex;flex-direction:column;gap:1rem}.users-section{background:#fff;border-radius:10px;padding:1rem;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.section-header-action{text-align:center;padding:.5rem}.btn-create{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1.25rem;font-size:.875rem;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #0000001a}.btn-create:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-create.users{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff}.btn-create.teams{background:linear-gradient(135deg,#164e63,#155e75);color:#fff}.btn-create.departments{background:linear-gradient(135deg,#60a5fa,#06b6d4);color:#fff}.btn-create.roles{background:linear-gradient(135deg,#0e7490,#1e40af);color:#fff}.create-form-container{padding:.5rem}.create-form-container h3{margin:0 0 1.5rem;font-size:1.1rem;font-weight:600;color:#1f2937;padding-bottom:.75rem;border-bottom:2px solid #e5e7eb}.users-table-section{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 1px 3px #00000014;border:1px solid #e5e7eb}.users-table-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:1rem}.users-table-title{display:flex;align-items:center;gap:1rem}.users-table-title h3{margin:0;font-size:1.1rem;font-weight:600}.users-search-box{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f8fafc;border:1px solid #e5e7eb;border-radius:8px;min-width:250px}.users-search-box input{border:none;background:transparent;outline:none;flex:1;font-size:.9rem}.users-search-box input::placeholder{color:#94a3b8}.users-filters{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.users-filter-group{display:flex;align-items:center;gap:.5rem}.users-filter-group label{font-size:.875rem;font-weight:500;color:#64748b}.users-filter-group select{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;background:#fff;min-width:150px;cursor:pointer}.users-filter-group select:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.btn-clear-filters{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .15s}.btn-clear-filters:hover{background:#f8fafc;border-color:#94a3b8}.filter-info-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:#ecfeff;border-radius:8px;font-size:.875rem;color:#1e40af;margin-bottom:1rem}.users-pagination{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;padding:1rem;background:#f8fafc;border-radius:10px}.users-pagination-info{color:#64748b;font-size:.875rem}.users-pagination-controls{display:flex;gap:.5rem;align-items:center}.users-pagination-btn{padding:.5rem 1rem;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#374151;cursor:pointer;font-weight:500;transition:all .15s}.users-pagination-btn:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.users-pagination-btn:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}.users-pagination-current{padding:.5rem 1rem;background:#06b6d4;color:#fff;border-radius:8px;font-weight:600}.users-section .table-wrapper{border-radius:8px;overflow:hidden;border:1px solid #e5e7eb}.users-section table{width:100%;border-collapse:collapse}.users-section table th{background:#f8fafc;padding:.875rem 1rem;text-align:left;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:#475569;border-bottom:2px solid #e5e7eb}.users-section table td{padding:.875rem 1rem;border-bottom:1px solid #f1f5f9;font-size:.9rem}.users-section table tr:hover{background:#fafafa}.users-section table tr:last-child td{border-bottom:none}.user-link{color:#06b6d4;text-decoration:none;font-weight:500;display:flex;align-items:center;gap:.5rem}.user-link:hover{text-decoration:underline}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#06b6d4,#0e7490);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600}.action-btn{padding:.375rem .75rem;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s}.action-btn.edit{background:#ecfeff;border:1px solid #bfdbfe;color:#0891b2}.action-btn.edit:hover{background:#ecfeff}.action-btn.delete{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.action-btn.delete:hover{background:#fee2e2}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600}.badge.warning{background:#fef3c7;color:#92400e}.badge.info{background:#ecfeff;color:#0e7490}@media(max-width:1024px){.users-table-header{flex-direction:column;align-items:stretch}.users-filters{flex-direction:row;flex-wrap:wrap}.users-section table th,.users-section table td{padding:.75rem .625rem;font-size:.85rem}}@media(max-width:768px){.users-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;gap:.125rem}.users-tab{white-space:nowrap;padding:.625rem .875rem;font-size:.8rem}.users-tab .tab-icon{font-size:.9rem}.users-table-header,.users-filters,.users-filter-group{flex-direction:column;align-items:stretch}.users-filter-group label{margin-bottom:.25rem}.users-search-box{min-width:100%}.users-search-box input{font-size:16px}.users-filter-group select{min-width:100%;padding:.625rem 1rem;font-size:16px}.users-pagination{flex-direction:column;gap:1rem;text-align:center}.users-section{padding:.75rem}.users-section .table-wrapper{border:none;background:transparent}.users-section table{display:block}.users-section table thead{display:none}.users-section table tbody{display:flex;flex-direction:column;gap:.75rem}.users-section table tr{display:flex;flex-direction:column;background:#fff;border-radius:.5rem;border:1px solid #e5e7eb;padding:.75rem}.users-section table tr:hover{background:#fff}.users-section table td{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.users-section table td:last-child{border-bottom:none;padding-top:.75rem;justify-content:center}.users-section table td:before{content:attr(data-label);font-weight:600;color:#64748b;font-size:.75rem;text-transform:uppercase}.action-buttons{justify-content:center;width:100%}.action-btn{flex:1;justify-content:center;padding:.5rem .75rem}.btn-create{width:100%;justify-content:center}.create-form-container{padding:.25rem}}@media(max-width:480px){.users-tabs{padding-bottom:.25rem}.users-tab{padding:.5rem .625rem;font-size:.75rem}.users-tab span:not(.tab-icon){display:none}.users-section{padding:.5rem}.users-pagination-btn{padding:.375rem .75rem;font-size:.8rem}.users-pagination-controls{flex-wrap:wrap;justify-content:center}.user-avatar{width:28px;height:28px;font-size:.65rem}}@media(hover:none)and (pointer:coarse){.users-tab,.btn-create,.action-btn,.users-pagination-btn,.btn-clear-filters,.users-filter-group select,.users-search-box input{min-height:44px}}@media print{.users-tabs,.users-filters,.btn-create,.action-buttons,.users-pagination{display:none!important}.users-section table{display:table}.users-section table thead{display:table-header-group}.users-section table tbody{display:table-row-group}.users-section table tr{display:table-row}.users-section table td{display:table-cell}.users-section table td:before{display:none}}.notebook-side-toggle{position:absolute;top:.6rem;width:1.4rem;height:2rem;border-radius:9999px;border:1px solid #cbd5e1;background-color:#fff;box-shadow:0 2px 6px #0f172a1f;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:30;padding:0}.notebook-side-toggle svg{width:12px;height:12px;color:#0f172a;flex-shrink:0}.notebook-side-toggle:hover{background-color:#f1f5f9;border-color:#94a3b8}.notebook-side-toggle--left{left:-.4rem}.notebook-side-toggle--right{right:-.4rem}.notebook-container{display:flex;flex-direction:column;gap:.75rem;height:100%}.notebook-taskbar{background-color:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.notebook-taskbar-header{padding:.75rem 1rem;background:linear-gradient(135deg,#164e63,#155e75);color:#fff;display:flex;align-items:center;gap:.75rem}.notebook-taskbar-content{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1rem;background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.notebook-taskbar-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:.5rem;background-color:#fff;border:1px solid #e2e8f0;font-size:.8rem;color:#475569;transition:all .2s ease;cursor:pointer}.notebook-taskbar-item:hover{border-color:#164e63;color:#164e63}.notebook-taskbar-item.active{background-color:#e0f2fe;border-color:#164e63;color:#164e63}.notebook-main{display:grid;grid-template-columns:280px 1fr;gap:.75rem;flex:1;min-height:0}.notebook-sidebar{display:flex;flex-direction:column;gap:.75rem}.notebook-sidebar-section{background-color:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow:hidden}.notebook-sidebar-header{padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.notebook-sidebar-title{font-weight:600;color:#0f172a;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.notebook-note-list{max-height:300px;overflow-y:auto}.notebook-note-item{padding:.625rem 1rem;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background-color .2s}.notebook-note-item:hover{background-color:#f8fafc}.notebook-note-item.active{background-color:#e0f2fe;border-left:3px solid #164e63}.notebook-editor{background-color:#fff;border-radius:.75rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;min-height:0;overflow:hidden}.notebook-editor-header{padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.notebook-editor-content{flex:1;padding:1rem;overflow-y:auto;min-height:0}.notebook-toolbar{display:flex;flex-wrap:wrap;gap:.375rem;padding:.625rem 1rem;background-color:#f8fafc;border-bottom:1px solid #e2e8f0}.notebook-toolbar-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;border:none;border-radius:.375rem;background-color:transparent;color:#475569;cursor:pointer;transition:all .2s ease}.notebook-toolbar-btn:hover{background-color:#e2e8f0;color:#164e63}.notebook-toolbar-btn.active{background-color:#e0f2fe;color:#164e63}.notebook-versions{max-height:200px;overflow-y:auto}.notebook-version-item{padding:.5rem 1rem;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;cursor:pointer;transition:background-color .2s}.notebook-version-item:hover{background-color:#f8fafc}.notebook-mobile-toggle{display:none;position:fixed;bottom:1.5rem;right:1.5rem;width:3.5rem;height:3.5rem;border-radius:50%;background:linear-gradient(135deg,#164e63,#155e75);color:#fff;border:none;box-shadow:0 4px 12px #1e3a5f66;cursor:pointer;z-index:100;font-size:1.25rem}@media screen and (max-width:1024px){.notebook-main{grid-template-columns:220px 1fr}.notebook-note-list{max-height:250px}.notebook-taskbar-content{gap:.375rem;padding:.625rem .875rem}.notebook-taskbar-item{font-size:.75rem;padding:.45rem .625rem}}@media screen and (max-width:768px){.notebook-main{display:flex;flex-direction:column;gap:.75rem}.notebook-sidebar{display:none;position:fixed;inset:0;background-color:#00000080;z-index:200;padding:1rem;overflow-y:auto}.notebook-sidebar.open{display:flex;flex-direction:column}.notebook-sidebar-section{background-color:#fff}.notebook-mobile-toggle{display:flex;align-items:center;justify-content:center}.notebook-taskbar-header{padding:.625rem .875rem;flex-wrap:wrap}.notebook-taskbar-content{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none}.notebook-taskbar-content::-webkit-scrollbar{display:none}.notebook-taskbar-item{flex-shrink:0;font-size:.7rem;padding:.4rem .5rem}.notebook-editor-header{padding:.625rem .875rem}.notebook-editor-content{padding:.75rem}.notebook-toolbar{padding:.5rem .75rem;overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap}.notebook-toolbar-btn{flex-shrink:0}}@media screen and (max-width:480px){.notebook-container{gap:.5rem}.notebook-taskbar-header{padding:.5rem .75rem}.notebook-taskbar-header h3{font-size:.875rem}.notebook-taskbar-content{padding:.5rem .625rem}.notebook-taskbar-item{font-size:.65rem;padding:.35rem .45rem}.notebook-editor{border-radius:.5rem}.notebook-editor-header h3{font-size:.9rem}.notebook-toolbar-btn{width:1.75rem;height:1.75rem;font-size:.8rem}.notebook-mobile-toggle{width:3rem;height:3rem;bottom:1rem;right:1rem;font-size:1rem}}@media screen and (max-width:360px){.notebook-taskbar-item{padding:.3rem .4rem;gap:.25rem}.notebook-toolbar-btn{width:1.625rem;height:1.625rem}}@media(hover:none)and (pointer:coarse){.notebook-taskbar-item,.notebook-note-item,.notebook-toolbar-btn,.notebook-version-item{min-height:44px}.notebook-mobile-toggle{width:4rem;height:4rem}}@media print{.notebook-sidebar,.notebook-taskbar,.notebook-toolbar,.notebook-mobile-toggle,.notebook-editor-header{display:none}.notebook-main{display:block}.notebook-editor{border:none;box-shadow:none}.notebook-editor-content{padding:0;overflow:visible}}.notebook-editor a{color:#0891b2;text-decoration:underline;cursor:pointer}.notebook-editor a.link-armed{background:#0891b21f;border-radius:4px;padding:0 2px}.notebook-image-block{margin:.5rem 0}.notebook-image-wrapper{position:relative;display:inline-block;max-width:100%}.notebook-image-label{position:absolute;padding:.2rem .4rem;background:#0f172abf;color:#fff;border-radius:.25rem;font-size:.7rem;outline:none;cursor:text}.notebook-image-annotation{position:absolute;inset:0;pointer-events:none}.notebook-image-annotation.is-active{pointer-events:auto}.notebook-image-caption{margin-top:.3rem;font-size:.75rem;color:#64748b;outline:none}.notebook-dashboard{padding:1.5rem;max-width:1200px}.dashboard-header h1{margin:0 0 1.5rem;font-size:1.5rem;font-weight:600;color:#1e293b}.dashboard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:2rem}.stat-card__header{padding:.75rem 1rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.stat-card__header h3{margin:0;font-size:.875rem;font-weight:600;color:#475569}.stat-card__content{padding:.75rem 1rem;min-height:120px}.empty-text{color:#94a3b8;font-size:.875rem;text-align:center;padding:1.5rem 0}.activity-list{list-style:none;padding:0;margin:0}.activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0;cursor:pointer;border-bottom:1px solid #f1f5f9}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#f8fafc;margin:0 -1rem;padding:.5rem 1rem}.activity-icon{width:18px;height:18px;flex-shrink:0;margin-top:2px}.activity-icon--updated{color:#f97316}.activity-icon--note{color:#06b6d4}.activity-content{flex:1;min-width:0}.activity-label{font-size:.75rem;color:#64748b}.activity-title{display:block;font-size:.875rem;color:#06b6d4;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time{display:block;font-size:.75rem;color:#94a3b8;margin-top:.125rem}.tasks-list{list-style:none;padding:0;margin:0}.task-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;cursor:pointer;border-bottom:1px solid #f1f5f9}.task-item:last-child{border-bottom:none}.task-item:hover{background:#f8fafc;margin:0 -1rem;padding:.5rem 1rem}.task-icon{color:#06b6d4;flex-shrink:0}.task-title{flex:1;font-size:.875rem;color:#334155}.task-status{font-size:.75rem;color:#64748b;background:#f1f5f9;padding:.125rem .5rem;border-radius:9999px}.projects-section{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem}.btn-create{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#06b6d4;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#06b6d4;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer}.empty-projects{display:flex;flex-direction:column;align-items:center;padding:3rem;text-align:center}.project-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;cursor:pointer;transition:all .15s}.project-card:hover{border-color:#06b6d4;box-shadow:0 4px 12px #06b6d426}.project-card__header{margin-bottom:.75rem}.project-card__header h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#1e293b}.project-card__tags{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.tag-badge{padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;color:#fff}.status-badge{padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge--completed{background:#ecfeff;color:#0e7490}.status-badge--in_progress{background:#fef3c7;color:#92400e}.project-card__body{display:flex;flex-direction:column;gap:.375rem}.project-stat svg,.project-date svg{color:#94a3b8;font-size:.75rem}.loading-state{padding:2rem;text-align:center;color:#64748b}@media(max-width:768px){.dashboard-stats,.projects-grid{grid-template-columns:1fr}}.file-drop-zone-container{display:flex;flex-direction:column;gap:.75rem}.file-drop-zone{display:flex;align-items:center;justify-content:center;padding:2rem;border:2px dashed #cbd5e1;border-radius:.5rem;background:#f8fafc;cursor:pointer;transition:all .2s}.file-drop-zone:hover{border-color:#06b6d4;background:#ecfeff}.file-drop-zone.dragging{border-color:#06b6d4;background:#cffafe;border-style:solid}.file-drop-zone.uploading{cursor:wait;opacity:.7}.file-input-hidden{display:none}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center}.drop-zone-icon{font-size:2.5rem;color:#94a3b8;transition:color .2s}.file-drop-zone:hover .drop-zone-icon,.file-drop-zone.dragging .drop-zone-icon{color:#06b6d4}.drop-zone-icon.spinning{animation:spin 1s linear infinite;color:#06b6d4}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.drop-zone-text{margin:0;font-size:.9375rem;color:#64748b}.drop-zone-hint{font-size:.75rem;color:#94a3b8}.selected-files-list{display:flex;flex-direction:column;gap:.5rem}.selected-files-header{display:flex;justify-content:space-between;align-items:center;font-size:.8125rem;color:#64748b}.clear-all-btn{background:none;border:none;color:#ef4444;font-size:.75rem;cursor:pointer;padding:0}.clear-all-btn:hover{text-decoration:underline}.selected-file-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;transition:border-color .15s}.selected-file-item:hover{border-color:#cbd5e1}.selected-file-item.has-error{background:#fef2f2;border-color:#fecaca}.selected-file-preview{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:.25rem;overflow:hidden;flex-shrink:0}.selected-file-preview img{width:100%;height:100%;object-fit:cover}.file-icon{font-size:1.25rem;color:#64748b}.file-icon--image{color:#22c55e}.file-icon--pdf{color:#ef4444}.selected-file-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.selected-file-name{font-size:.875rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-file-size{font-size:.75rem;color:#94a3b8}.selected-file-item.has-error .selected-file-size{color:#ef4444}.remove-file-btn{background:none;border:none;padding:.25rem;color:#94a3b8;cursor:pointer;transition:color .15s;flex-shrink:0}.remove-file-btn:hover{color:#ef4444}.comments-panel{background:#fff;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:1rem}.comments-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-weight:500;color:#1a365d}.comments-toggle:hover{background:#f7fafc}.comment-count{background:#f59e0b;color:#fff;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;margin-left:auto;margin-right:.5rem}.comments-content{padding:1rem;border-top:1px solid #e2e8f0}.comments-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#4a5568;cursor:pointer}.comments-loading,.comments-empty{text-align:center;padding:2rem;color:#718096}.comments-empty small{display:block;margin-top:.5rem;font-size:.75rem}.comment-list{display:flex;flex-direction:column;gap:1rem}.comment-item{padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff}.comment-item.resolved{background:#f7fafc;border-color:#cbd5e0;opacity:.8}.comment-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.comment-author{display:flex;align-items:center;gap:.375rem;font-weight:500;color:#2d3748;font-size:.875rem}.comment-author svg{color:#a0aec0;font-size:.75rem}.comment-time{display:flex;align-items:center;gap:.25rem;font-size:.75rem;color:#a0aec0}.comment-time svg{font-size:.625rem}.comment-body{color:#4a5568;font-size:.875rem;line-height:1.5;white-space:pre-wrap}.comment-section-badge{display:inline-flex;align-items:center;gap:.5rem;margin-top:.5rem;padding:.25rem .5rem;background:#edf2f7;border-radius:4px;font-size:.75rem;color:#718096}.highlighted-text{font-style:italic;color:#4a5568}.comment-actions{display:flex;gap:1rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid #f7fafc}.btn-link{background:none;border:none;cursor:pointer;color:#06b6d4;font-size:.75rem;display:inline-flex;align-items:center;gap:.25rem;padding:0}.btn-link:hover{text-decoration:underline}.btn-link.danger{color:#dc2626}.show-replies{background:none;border:none;cursor:pointer;color:#06b6d4;font-size:.75rem;margin-top:.5rem;padding:0}.show-replies:hover{text-decoration:underline}.replies{margin-top:.75rem;margin-left:1rem;padding-left:1rem;border-left:2px solid #e2e8f0}.reply-item{padding:.5rem;margin-bottom:.5rem;background:#f7fafc;border-radius:4px}.reply-item:last-child{margin-bottom:0}.reply-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.reply-author{font-weight:500;font-size:.8rem;color:#2d3748}.reply-time{font-size:.7rem;color:#a0aec0}.reply-body{font-size:.8rem;color:#4a5568}.add-comment-form{margin-top:1rem;padding:1rem;background:#f7fafc;border-radius:6px}.add-comment-form .form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;font-weight:500;color:#2d3748}.add-comment-form .form-header button{background:none;border:none;cursor:pointer;color:#a0aec0}.add-comment-form textarea{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;resize:vertical;font-family:inherit}.add-comment-form .form-actions{display:flex;gap:.5rem;margin-top:.5rem}.signature-panel{border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;margin-top:1rem}.signature-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-size:.9375rem;font-weight:500;color:#334155;text-align:left}.signature-toggle:hover{background:#f8fafc}.signature-count{background:#8b5cf6;color:#fff;font-size:.75rem;padding:.125rem .5rem;border-radius:9999px;margin-left:auto}.lock-icon{color:#f59e0b;margin-left:.5rem}.signature-content{padding:0 1rem 1rem;border-top:1px solid #e2e8f0}.locked-notice{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:.375rem;margin:.75rem 0;font-size:.875rem;color:#92400e}.signature-actions{display:flex;gap:.5rem;padding:.75rem 0}.signature-loading,.signature-empty{padding:1.5rem;text-align:center;color:#64748b}.signature-empty small{display:block;margin-top:.25rem;font-size:.8125rem}.signature-list{display:flex;flex-direction:column;gap:.75rem}.signature-item{display:flex;gap:.75rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem}.signature-item.invalid{background:#fef2f2;border-color:#fecaca;opacity:.75}.signature-badge{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;flex-shrink:0}.signature-info{flex:1;min-width:0}.signature-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.signature-header strong{font-size:.9375rem}.signature-type{font-size:.75rem;padding:.125rem .5rem;background:#e2e8f0;border-radius:9999px;color:#64748b}.signature-meaning{font-size:.875rem;color:#334155;font-style:italic;margin-bottom:.5rem}.signature-meta{display:flex;gap:1rem;font-size:.75rem;color:#64748b}.signature-meta span{display:flex;align-items:center;gap:.25rem}.signature-invalid{display:flex;align-items:center;gap:.375rem;margin-top:.5rem;padding:.375rem .5rem;background:#fecaca;border-radius:.25rem;font-size:.75rem;color:#dc2626}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal{background:#fff;border-radius:.5rem;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;font-size:1.125rem;font-weight:600}.modal-header button{padding:.375rem;background:none;border:none;color:#64748b;cursor:pointer;border-radius:.25rem}.modal-header button:hover{background:#f1f5f9;color:#334155}.modal-body{padding:1.25rem;overflow-y:auto;flex:1}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#334155;margin-bottom:.375rem}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.9375rem;color:#334155}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.form-group small{display:block;margin-top:.25rem;font-size:.75rem;color:#64748b}.signature-warning{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:.375rem;margin-top:1rem;font-size:.8125rem;color:#92400e}.signature-warning svg{flex-shrink:0;margin-top:.125rem}.modal-actions{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e2e8f0;justify-content:flex-end}.modal-actions .btn-primary,.modal-actions .btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;border:none}.modal-actions .btn-primary{background:#06b6d4;color:#fff}.modal-actions .btn-primary:hover:not(:disabled){background:#0891b2}.modal-actions .btn-primary:disabled{background:#94a3b8;cursor:not-allowed}.modal-actions .btn-secondary{background:#f1f5f9;color:#64748b}.modal-actions .btn-secondary:hover{background:#e2e8f0}.user-search-dropdown{position:relative}.user-search-input-wrapper{display:flex;align-items:center;border:1px solid #e2e8f0;border-radius:.375rem;background:#fff;cursor:text;transition:border-color .15s,box-shadow .15s}.user-search-input-wrapper.open{border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.user-search-icon{margin-left:.625rem;color:#94a3b8;font-size:.75rem;flex-shrink:0}.user-search-input{flex:1;border:none!important;box-shadow:none!important;padding:.5rem .75rem!important;font-size:.9375rem;color:#334155;background:transparent;outline:none;min-width:0}.user-search-input::placeholder{color:#94a3b8}.user-search-clear{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:.25rem;background:none;border:none;color:#94a3b8;cursor:pointer;border-radius:.25rem;padding:0;flex-shrink:0}.user-search-clear:hover{background:#f1f5f9;color:#64748b}.user-search-options{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:.25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;box-shadow:0 4px 12px #0000001a;max-height:200px;overflow-y:auto}.user-search-empty{padding:.75rem 1rem;text-align:center;color:#94a3b8;font-size:.8125rem;font-style:italic}.user-search-option{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;cursor:pointer;text-align:left;font-size:.875rem;color:#334155;transition:background .1s}.user-search-option:hover{background:#f0f9ff}.user-search-option.selected{background:#ecfeff;color:#0891b2;font-weight:600}.user-search-option__name{font-weight:500}.user-search-option__username{font-size:.75rem;color:#94a3b8;margin-left:auto}.export-panel{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:1rem}.export-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:#f8fafc;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:#334155;transition:background .2s}.export-toggle:hover{background:#f1f5f9}.export-toggle svg:first-child{color:#059669}.export-toggle svg:last-child{margin-left:auto}.export-content{padding:1rem;border-top:1px solid #e2e8f0}.export-formats{margin-bottom:1rem}.format-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;color:#64748b;margin-bottom:.5rem}.format-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.format-btn{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem .5rem;background:#f8fafc;border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .2s;color:#64748b;font-size:.625rem;font-weight:600}.format-btn svg{font-size:1.25rem}.format-btn:hover{background:#f1f5f9;border-color:#e2e8f0}.format-btn.active{background:#ecfeff;border-color:#06b6d4;color:#06b6d4}.export-options{margin-bottom:1rem;padding:.75rem;background:#f8fafc;border-radius:6px}.checkbox-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:#475569;padding:.25rem 0}.checkbox-option input[type=checkbox]{width:1rem;height:1rem;accent-color:#06b6d4}.export-actions{margin-bottom:1rem}.export-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;background:#059669;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.export-btn:hover{background:#047857}.export-btn:disabled{background:#a7f3d0;cursor:not-allowed}.export-history-section{border-top:1px solid #e2e8f0;padding-top:1rem}.history-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem;background:none;border:none;cursor:pointer;font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase}.history-toggle:hover{color:#475569}.history-toggle svg:last-child{margin-left:auto;font-size:.625rem}.history-list{margin-top:.5rem}.history-empty{text-align:center;color:#94a3b8;font-size:.813rem;padding:1rem}.history-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:6px;transition:background .2s}.history-item:hover{background:#f8fafc}.history-icon{width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;background:#f1f5f9;border-radius:6px;color:#64748b}.history-info{flex:1;min-width:0}.history-filename{display:block;font-size:.813rem;font-weight:500;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-meta{display:block;font-size:.688rem;color:#94a3b8}.history-badge{width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:#dcfce7;color:#16a34a;border-radius:50%;font-size:.625rem}@media(max-width:480px){.format-options{grid-template-columns:repeat(2,1fr)}}.audit-trail-panel{border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;margin-top:1rem}.audit-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-size:.9375rem;font-weight:500;color:#334155;text-align:left}.audit-toggle:hover{background:#f8fafc}.audit-count{background:#64748b;color:#fff;font-size:.75rem;padding:.125rem .5rem;border-radius:9999px;margin-left:auto}.audit-content{padding:0 1rem 1rem;border-top:1px solid #e2e8f0}.audit-loading,.audit-empty{padding:1.5rem;text-align:center;color:#64748b}.audit-timeline{padding-top:.75rem}.audit-entry{display:flex;gap:.75rem;position:relative}.audit-timeline-line{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.audit-icon{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-size:.75rem;flex-shrink:0;z-index:1}.audit-connector{width:2px;flex:1;background:#e2e8f0;min-height:1.5rem;margin-top:.25rem}.audit-details{flex:1;padding-bottom:1rem}.audit-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.audit-action{font-size:.9375rem;font-weight:500;color:#334155}.audit-time{font-size:.75rem;color:#94a3b8}.audit-user{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:#64748b}.audit-user svg{font-size:.6875rem}.audit-trail-panel.compact .audit-toggle{padding:.5rem .75rem;font-size:.875rem}.audit-trail-panel.compact .audit-content{padding:0 .75rem .75rem}.audit-trail-panel.compact .audit-icon{width:24px;height:24px;font-size:.625rem}.audit-trail-panel.compact .audit-action{font-size:.8125rem}.audit-trail-panel.compact .audit-time{font-size:.6875rem}.audit-trail-panel.compact .audit-user{font-size:.75rem}.audit-trail-panel.compact .audit-details{padding-bottom:.75rem}.version-history-panel{border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;margin-top:1rem}.version-history-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-size:.9375rem;font-weight:500;color:#334155;text-align:left}.version-history-toggle:hover{background:#f8fafc}.version-count{background:#06b6d4;color:#fff;font-size:.75rem;padding:.125rem .5rem;border-radius:9999px;margin-left:auto}.version-history-content{padding:0 1rem 1rem;border-top:1px solid #e2e8f0}.version-history-actions{display:flex;gap:.5rem;padding:.75rem 0}.btn-sm{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.8125rem;border-radius:.375rem;border:none;cursor:pointer;transition:all .15s}.btn-sm.btn-primary{background:#06b6d4;color:#fff}.btn-sm.btn-secondary{background:#64748b;color:#fff}.btn-sm.btn-outline{background:#fff;border:1px solid #e2e8f0;color:#64748b}.btn-sm.btn-outline:hover{background:#f8fafc}.compare-selection{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:#ecfeff;border-radius:.375rem;margin-bottom:.75rem;font-size:.875rem;color:#06b6d4}.version-loading,.version-empty{padding:1.5rem;text-align:center;color:#64748b}.version-empty small{display:block;margin-top:.25rem;font-size:.8125rem}.version-list{display:flex;flex-direction:column;gap:.5rem}.version-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;cursor:pointer;transition:all .15s}.version-item:hover{background:#ecfeff;border-color:#a5f3fc}.version-item.selected{background:#cffafe;border-color:#06b6d4}.version-number{font-weight:600;color:#06b6d4;min-width:3rem}.version-info{flex:1;min-width:0}.version-meta{display:flex;gap:1rem;font-size:.8125rem;color:#64748b}.version-meta span{display:flex;align-items:center;gap:.25rem}.version-summary{margin-top:.25rem;font-size:.875rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.version-view-btn{padding:.375rem;background:none;border:none;color:#64748b;cursor:pointer;border-radius:.25rem}.version-view-btn:hover{background:#e2e8f0;color:#334155}.version-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.version-modal{background:#fff;border-radius:.5rem;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003}.version-modal.comparison-modal{max-width:800px}.version-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.version-modal-header h3{margin:0;font-size:1.125rem;font-weight:600}.version-modal-header button{padding:.375rem;background:none;border:none;color:#64748b;cursor:pointer;border-radius:.25rem}.version-modal-header button:hover{background:#f1f5f9;color:#334155}.version-modal-meta{display:flex;flex-wrap:wrap;gap:1rem;padding:.75rem 1.25rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-size:.875rem;color:#64748b}.version-modal-meta span{display:flex;align-items:center;gap:.375rem}.version-modal-meta .change-summary{flex-basis:100%;font-style:italic}.version-modal-content{padding:1.25rem;overflow-y:auto;flex:1}.version-modal-content h4{margin:0 0 .5rem;font-size:.875rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.05em}.version-modal-content h4:not(:first-child){margin-top:1.25rem}.version-modal-content p{margin:0;font-size:.9375rem;line-height:1.6;color:#334155;white-space:pre-wrap}.version-modal-actions{display:flex;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid #e2e8f0;justify-content:flex-end}.version-modal-actions .btn-primary,.version-modal-actions .btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;border:none}.version-modal-actions .btn-primary{background:#06b6d4;color:#fff}.version-modal-actions .btn-primary:hover{background:#0891b2}.version-modal-actions .btn-secondary{background:#f1f5f9;color:#64748b}.version-modal-actions .btn-secondary:hover{background:#e2e8f0}.no-changes{text-align:center;color:#64748b;padding:2rem}.change-item{margin-bottom:1.5rem}.change-diff{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.change-old,.change-new{padding:.75rem;border-radius:.375rem;font-size:.8125rem}.change-old{background:#fef2f2;border:1px solid #fecaca}.change-new{background:#f0fdf4;border:1px solid #bbf7d0}.change-old .label,.change-new .label{display:block;font-weight:600;margin-bottom:.5rem}.change-old .label{color:#dc2626}.change-new .label{color:#16a34a}.change-diff pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,monospace;font-size:.8125rem;line-height:1.5}.eln-page{display:flex;height:100%;min-height:calc(100vh - 60px);background:#f1f5f9}.eln-sidebar{width:220px;background:#164e63;display:flex;flex-direction:column;transition:width .2s ease;flex-shrink:0}.eln-sidebar.collapsed{width:60px}.eln-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.eln-logo{font-size:1.25rem;font-weight:700;color:#fff;letter-spacing:.05em}.eln-sidebar__toggle{background:#ffffff1a;border:none;color:#fff;width:28px;height:28px;border-radius:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;padding:0}.eln-sidebar__toggle:hover{background:#fff3}.eln-sidebar__toggle svg{width:14px;height:14px;fill:currentColor}.eln-sidebar.collapsed .eln-sidebar__header{justify-content:center}.eln-sidebar__nav{display:flex;flex-direction:column;padding:.5rem;gap:.25rem}.eln-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:transparent;border:none;color:#ffffffb3;font-size:.9375rem;cursor:pointer;border-radius:.375rem;transition:all .15s;text-align:left;width:100%}.eln-nav-item:hover{background:#ffffff1a;color:#fff}.eln-nav-item.active{background:#06b6d4;color:#fff}.eln-nav-item__icon{font-size:1rem;width:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.eln-nav-item__icon svg{width:16px;height:16px}.eln-sidebar.collapsed .eln-nav-item{justify-content:center;padding:.75rem}.eln-content{flex:1;overflow-y:auto;background:#f8fafc}.eln-view-container{padding:1.5rem;max-width:1400px}.view-header{margin-bottom:1.5rem}.view-header h1{margin:0 0 .25rem;font-size:1.5rem;font-weight:600;color:#1e293b}.view-header p{margin:0;color:#64748b;font-size:.875rem}.empty-state{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem}.empty-icon{font-size:3rem;color:#cbd5e1;margin-bottom:1rem}.empty-state h3{margin:0 0 .5rem;font-size:1.125rem;color:#334155}.empty-state p{margin:0;color:#64748b;font-size:.875rem}.loading-state{padding:3rem;text-align:center;color:#64748b}.search-filter-bar{display:flex;gap:1rem;margin-bottom:1rem}.search-input-wrapper{flex:1;position:relative;max-width:400px}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:#94a3b8;font-size:.875rem}.search-input{width:100%;padding:.5rem .75rem .5rem 2.25rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;background:#fff}.search-input:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.filter-wrapper{position:relative;display:flex;align-items:center}.filter-icon{position:absolute;left:.75rem;color:#94a3b8;font-size:.75rem;pointer-events:none}.filter-select{padding:.5rem .75rem .5rem 2rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;background:#fff;cursor:pointer;text-transform:capitalize}.filter-select:focus{outline:none;border-color:#06b6d4}.list-summary{font-size:.8125rem;color:#64748b;margin-bottom:.75rem}.pagination{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.pagination-btn{padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;color:#334155;cursor:pointer;transition:all .15s}.pagination-btn:hover:not(:disabled){background:#f8fafc;border-color:#06b6d4;color:#06b6d4}.pagination-btn:disabled{color:#94a3b8;cursor:not-allowed}.pagination-pages{display:flex;align-items:center;gap:.25rem}.pagination-page{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;color:#334155;cursor:pointer;transition:all .15s}.pagination-page:hover{background:#f8fafc;border-color:#06b6d4}.pagination-page.active{background:#06b6d4;border-color:#06b6d4;color:#fff}.pagination-ellipsis{padding:0 .5rem;color:#94a3b8}.experiments-list{display:flex;flex-direction:column;gap:.5rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden}.experiment-row{display:flex;align-items:center;gap:1rem;padding:1rem;border-bottom:1px solid #f1f5f9;cursor:pointer;transition:background .15s}.experiment-row:last-child{border-bottom:none}.experiment-row:hover{background:#f8fafc}.experiment-row__icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#cffafe;color:#0891b2;border-radius:.5rem;font-size:1rem;border:1px solid #a5f3fc}.experiment-row__content{flex:1;min-width:0}.experiment-row__content h3{margin:0 0 .25rem;font-size:.9375rem;font-weight:500;color:#1e293b}.experiment-row__meta{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.entry-type{color:#64748b;text-transform:capitalize}.status-badge{padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge--draft{background:#fef3c7;color:#92400e}.status-badge--in_progress{background:#ecfeff;color:#0e7490}.status-badge--completed{background:#dcfce7;color:#166534}.status-badge--reviewed{background:#e0e7ff;color:#3730a3}.project-name{color:#94a3b8}.experiment-row__date{font-size:.8125rem;color:#94a3b8;flex-shrink:0}.experiment-row__actions{display:flex;align-items:center;gap:.75rem;flex-shrink:0;margin-left:1rem}.action-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #e2e8f0;border-radius:.5rem;background:#fff;color:#64748b;cursor:pointer;transition:all .2s;font-size:1rem}.action-btn:hover{background:#0891b2;border-color:#0891b2;color:#fff;transform:scale(1.05);box-shadow:0 2px 8px #0891b24d}.action-btn--danger{color:#94a3b8}.action-btn--danger:hover{background:#dc2626;border-color:#dc2626;color:#fff;box-shadow:0 2px 8px #dc26264d}.eln-view-container .projects-page{padding:0;max-width:none}.eln-dashboard{padding:1.5rem;max-width:1400px}.dashboard-header{margin-bottom:1.5rem}.dashboard-header h1{margin:0;font-size:1.5rem;font-weight:600;color:#1e293b}.dashboard-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;overflow:hidden}.stat-card__header{padding:1rem;border-bottom:1px solid #f1f5f9}.stat-card__header h3{margin:0;font-size:.9375rem;font-weight:600;color:#334155}.stat-card__content{padding:1rem}.empty-text{margin:0;color:#94a3b8;font-size:.875rem;text-align:center;padding:1rem 0}.activity-list{list-style:none;margin:0;padding:0}.activity-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.375rem;cursor:pointer;transition:background .15s}.activity-item:hover{background:#f8fafc}.activity-icon{font-size:1rem;flex-shrink:0}.activity-icon--completed{color:#22c55e}.activity-icon--updated{color:#06b6d4}.activity-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.activity-title{font-size:.875rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time{font-size:.75rem;color:#94a3b8}.tasks-list{list-style:none;margin:0;padding:0}.task-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.375rem;cursor:pointer;transition:background .15s}.task-item:hover{background:#f8fafc}.task-icon{color:#f59e0b;font-size:.875rem}.task-title{flex:1;font-size:.875rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-status{font-size:.75rem;color:#06b6d4;font-weight:500}.projects-section{margin-top:2rem}.projects-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.projects-section__header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1e293b}.empty-projects{display:flex;flex-direction:column;align-items:center;padding:4rem 2rem;text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem}.empty-projects h3{margin:0 0 .5rem;font-size:1.125rem;color:#334155}.empty-projects p{margin:0 0 1.5rem;color:#64748b;font-size:.875rem}.projects-filters{margin-bottom:1rem}.filter-tabs{display:flex;gap:.5rem;flex-wrap:wrap}.filter-tab{padding:.5rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;color:#64748b;cursor:pointer;transition:all .15s}.filter-tab:hover{border-color:#0891b2;color:#0891b2}.filter-tab.active{background:linear-gradient(135deg,#0891b2,#0e7490);border-color:transparent;color:#fff}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.project-card{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;padding:1rem;cursor:pointer;transition:all .2s}.project-card:hover{border-color:#06b6d4;box-shadow:0 4px 12px #06b6d41a}.project-card__header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.project-card__header h3{margin:0;font-size:1rem;font-weight:600;color:#1e293b}.project-card__menu{position:relative}.project-card__menu .menu-btn{background:transparent;border:none;padding:.25rem;cursor:pointer;color:#64748b;border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:all .15s}.project-card__menu .menu-btn:hover{background:#f1f5f9;color:#334155}.project-card__menu .menu-dropdown{position:absolute;top:100%;right:0;background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;box-shadow:0 4px 12px #0000001a;z-index:100;min-width:120px;overflow:hidden}.project-card__menu .menu-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;background:none;border:none;cursor:pointer;font-size:.8125rem;color:#374151;text-align:left;transition:background .15s}.project-card__menu .menu-item:hover{background:#f3f4f6}.project-card__menu .menu-item--danger{color:#dc2626}.project-card__menu .menu-item--danger:hover{background:#fef2f2}.project-card__tags{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tag-badge{padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:500;color:#fff}.status-badge--active{background:#dcfce7;color:#166534}.status-badge--archived{background:#f1f5f9;color:#64748b}.project-card__body{display:flex;flex-direction:column;gap:.5rem}.project-description{margin:0;font-size:.8125rem;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid #f1f5f9}.project-stat,.project-date{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#64748b}.project-card__icon{width:40px;height:40px;border-radius:.5rem;background:linear-gradient(135deg,#ecfeff,#cffafe);display:flex;align-items:center;justify-content:center;color:#0891b2;font-size:1.125rem}.project-card__content{flex:1}.project-card__content h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#1e293b}.project-card__description{margin:0 0 .5rem;font-size:.8125rem;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-card__meta{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.experiment-count{font-size:.75rem;color:#64748b}.tag-chip{padding:.125rem .5rem;border-radius:9999px;font-size:.6875rem;font-weight:500;color:#fff}.tag-chip--more{background:#e2e8f0;color:#64748b}.owner-name{font-size:.8125rem;color:#374151;font-weight:500}.updated-at{font-size:.75rem;color:#94a3b8}.project-stat svg,.project-date svg{font-size:.75rem;color:#94a3b8}.tag-badge--more{background:#e2e8f0;color:#64748b}.btn-create{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#06b6d4;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-create:hover{background:#0891b2}.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#06b6d4;color:#fff;border:none;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:disabled{background:#94a3b8;cursor:not-allowed}.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f1f5f9;color:#1e293b;border:1px solid #cbd5e1;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:#64748b;font-size:.875rem;cursor:pointer;margin-bottom:1rem;transition:color .15s}.back-btn:hover{color:#06b6d4}.project-detail-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid #e2e8f0}.project-info h1{margin:0 0 .5rem;font-size:1.5rem;font-weight:600;color:#1e293b}.project-info p{margin:0 0 .75rem;color:#64748b;font-size:.9375rem}.project-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-actions{display:flex;gap:.5rem}.experiments-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.experiments-section__header h2{margin:0;font-size:1.125rem;font-weight:600;color:#1e293b}.created-by{color:#94a3b8;font-size:.75rem}.experiment-editor-page{display:flex;flex-direction:column;height:100%;min-height:0}.experiment-header-bar{background:linear-gradient(135deg,#1e3a5f,#1a365d);color:#fff;flex-shrink:0;border-bottom:1px solid #1a365d}.experiment-header-bar .back-btn{color:#fffc;padding:.375rem .875rem;font-size:.8125rem;background:transparent;border:none;display:inline-flex;align-items:center;gap:.5rem;cursor:pointer;transition:color .15s}.experiment-header-bar .back-btn:hover{color:#fff;transform:none;box-shadow:none}.experiment-header-bar__main{display:flex;align-items:center;gap:1rem;padding:.625rem .875rem}.experiment-header-bar__title{display:flex;align-items:center;gap:.75rem;flex:1}.experiment-header-bar__info{display:flex;align-items:center;gap:1rem;font-size:.8rem;opacity:.85;white-space:nowrap}.experiment-header-bar__actions{display:flex;gap:.5rem;flex-shrink:0}.experiment-header-bar__actions .btn-primary{background:#06b6d4;border:1px solid #0891b2;color:#fff;font-weight:600}.experiment-header-bar__actions .btn-primary:hover{background:#0891b2;border-color:#0e7490}.experiment-header-bar__actions .btn-primary:disabled{background:#64748b;border-color:#475569;cursor:not-allowed;opacity:.7}.experiment-header-bar__actions .btn-secondary{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:500}.experiment-header-bar__actions .btn-secondary:hover{background:#ffffff40;border-color:#fff6}.entry-type-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#06b6d4;color:#fff;border-radius:.5rem;font-size:1rem;border:1px solid #0891b2;box-shadow:0 1px 3px #0003}.title-input{flex:1;padding:.5rem;border:1px solid transparent;border-radius:.375rem;font-size:1.1rem;font-weight:700;color:#fff;background:transparent;transition:border-color .15s}.experiment-action-bar{display:flex;align-items:flex-end;gap:1.5rem;padding:.625rem .875rem;background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;flex-shrink:0}.meta-item label{font-size:.75rem;font-weight:500;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.meta-item select{padding:.375rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;background:#fff;color:#334155;cursor:pointer}.meta-item select:focus{outline:none;border-color:#06b6d4}.shared-richtext-toolbar{position:sticky;top:0;z-index:10;background:#f1f5f9;border-bottom:1px solid #d1d5db;flex-shrink:0;box-shadow:0 2px 4px -1px #0000000f}.shared-richtext-toolbar .toolbar-host{min-height:40px}.shared-richtext-toolbar .toolbar-host>div{border:none!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}.active-section-label{font-size:.75rem;font-weight:600;color:#1e3a5f;background:#e0f2fe;padding:.25rem .625rem;border-radius:.25rem;border:1px solid #bae6fd;white-space:nowrap;margin-left:.5rem}.active-section-hint{font-size:.75rem;color:#94a3b8;font-style:italic;white-space:nowrap;margin-left:.5rem}.experiment-content-grid{display:grid;grid-template-columns:1fr 300px;gap:1.5rem;padding:1.5rem;flex:1;min-height:0;align-content:start}.section-editor{background:#fff;border:2px solid #cbd5e1;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000000f;transition:border-color .2s ease,box-shadow .2s ease}.section-editor.active-section{border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41f,0 1px 3px #0000000f}.section-editor__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:#eef2f7;border:none;border-bottom:1px solid #cbd5e1;cursor:pointer;transition:background .15s;text-align:left}.section-editor__header:hover{background:#e2e8f0;transform:none;box-shadow:none}.section-editor__header .toggle{font-size:1.25rem;color:#64748b;font-weight:300}.section-editor__content--richtext{padding:0;max-height:450px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent}.section-editor__content--richtext::-webkit-scrollbar{width:6px}.section-editor__content--richtext::-webkit-scrollbar-track{background:transparent}.section-editor__content--richtext::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.section-editor__content--richtext::-webkit-scrollbar-thumb:hover{background:#94a3b8}.section-editor__content--richtext>div{border:none!important;border-radius:0!important;height:auto!important;min-height:0!important;overflow:visible!important}.section-editor__content--richtext .notebook-editor{display:block!important;min-height:120px!important;height:auto!important;overflow:visible!important;border:none!important;box-shadow:none!important;border-radius:0!important;padding:.75rem;font-size:.9375rem;line-height:1.6}.section-editor.collapsed .section-editor__header{border-bottom:none}.sidebar-section h3{margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#1e293b;display:flex;align-items:center;gap:.5rem}.sidebar-section--collapsible{padding:0}.sidebar-section__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:600;color:#1e293b;transition:background .15s}.sidebar-section__toggle:hover{background:#f8fafc}.sidebar-section__toggle svg{color:#64748b;font-size:.75rem}.sidebar-section__toggle-label{display:flex;align-items:center;gap:.5rem}.sidebar-section__toggle-label svg{color:#0891b2;font-size:.875rem}.sidebar-section__badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 .375rem;background:#06b6d4;color:#fff;border-radius:9999px;font-size:.6875rem;font-weight:700;line-height:1}.sidebar-section__body{border-top:1px solid #e2e8f0;padding:.75rem}.sidebar-column>.comments-panel,.sidebar-column>.version-history-panel,.sidebar-column>.signature-panel,.sidebar-column>.export-panel,.sidebar-column>.audit-trail-panel{margin-top:0;margin-bottom:0}.sidebar-hint{margin:0 0 .75rem;font-size:.8125rem;color:#94a3b8}.upload-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.5rem;background:#eef2f7;color:#475569;border:1px dashed #94a3b8;border-radius:.375rem;font-size:.8125rem;cursor:pointer;transition:all .15s}.upload-btn:hover{background:#e2e8f0;color:#1e293b;border-color:#64748b}.attachments-header{padding-bottom:.5rem;border-bottom:1px solid #e2e8f0;margin-bottom:.25rem}.attachments-count{font-size:.75rem;color:#64748b;font-weight:500}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:#f8fafc;border-radius:.25rem}.attachment-name{font-size:.8125rem;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.attachment-size{font-size:.75rem;color:#94a3b8;flex-shrink:0;margin-left:.5rem}.attachment-download-btn{background:none;border:none;padding:.25rem;color:#64748b;cursor:pointer;transition:color .15s;margin-left:auto}.attachment-download-btn:hover{color:#06b6d4}.note-item{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fefce8;border:1px solid #fef08a;border-radius:.375rem}.note-title{display:block;font-size:.8125rem;color:#334155;margin-bottom:.25rem}.note-text{margin:0;font-size:.8125rem;color:#64748b;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.note-date{display:block;font-size:.6875rem;color:#94a3b8;margin-top:.25rem}.note-delete-btn{background:none;border:none;padding:.25rem;color:#94a3b8;cursor:pointer;transition:color .15s}.note-delete-btn:hover{color:#ef4444}.info-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f1f5f9}.info-label{font-size:.8125rem;color:#64748b}.info-value{font-size:.8125rem;color:#334155;font-weight:500}.locked-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:.375rem;color:#92400e;font-size:.8125rem;font-weight:500;margin-bottom:.75rem}.create-experiment-modal{max-width:480px;width:90%}.create-experiment-modal h2{margin:0 0 1.5rem;font-size:1.125rem;font-weight:600;color:#1e293b}.entry-type-selector{display:flex;gap:.75rem}.entry-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;border:2px solid #e2e8f0;border-radius:.5rem;background:#fff;color:#475569;cursor:pointer;transition:all .15s}.entry-type-btn:hover{border-color:#06b6d4}.entry-type-btn.active{border-color:#06b6d4;background:#ecfeff;color:#06b6d4}.entry-type-btn svg{font-size:1.25rem}.entry-type-btn span{font-size:.8125rem;font-weight:500;text-transform:capitalize}.form-group label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:#374151}.form-group input[type=text]{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.9375rem}.form-group input[type=text]:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e5e7eb}.modal-content{background:#fff;border-radius:.5rem;padding:1.5rem;box-shadow:0 25px 50px -12px #00000040;max-height:90vh;overflow-y:auto}@media(max-width:1024px){.experiment-content-grid{grid-template-columns:1fr}.sidebar-column{order:-1;flex-direction:row;flex-wrap:wrap}.sidebar-section{flex:1;min-width:250px}}@media(max-width:768px){.eln-sidebar{width:60px}.eln-sidebar .eln-logo,.eln-sidebar .eln-nav-item__label{display:none}.eln-sidebar .eln-nav-item{justify-content:center;padding:.75rem}.eln-sidebar .eln-sidebar__header{justify-content:center}.dashboard-stats,.projects-grid{grid-template-columns:1fr}.project-detail-header{flex-direction:column;gap:1rem}.experiment-header-bar__main{flex-direction:column;align-items:stretch;gap:.5rem}.experiment-header-bar__info{display:none}.experiment-action-bar{flex-direction:column;align-items:stretch}.shared-richtext-toolbar{padding:0}.active-section-label,.active-section-hint{display:none}.meta-item--wide{min-width:auto}.section-editor__content--richtext{max-height:350px}}.create-protocol-modal{max-width:520px;width:90%;padding:1.5rem}.create-protocol-modal h2{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.protocol-choice-subtitle{color:#6b7280;font-size:.875rem;margin:0 0 1.25rem}.protocol-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}.protocol-choice-card{display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem;border:2px solid #e5e7eb;border-radius:.5rem;background:#fff;cursor:pointer;transition:all .2s;text-align:center}.protocol-choice-card:hover{border-color:#1e3a5f;background:#f0f9ff}.protocol-choice-icon{font-size:2rem;color:#1e3a5f;margin-bottom:.75rem}.protocol-choice-card h3{margin:0 0 .25rem;font-size:1rem;font-weight:600;color:#1e293b}.protocol-choice-card p{margin:0;font-size:.75rem;color:#6b7280}.create-protocol-modal .file-input{width:100%;padding:.5rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem}.create-protocol-modal .file-selected{margin:.5rem 0 0;font-size:.8rem;color:#059669;font-weight:500}.inventory-modal{background:#fff;border-radius:.75rem;box-shadow:0 20px 40px -12px #00000059;width:min(600px,95vw);max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.inventory-modal__header{padding:1.25rem 1.5rem;background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff}.inventory-modal__header h2{margin:0;font-size:1.125rem;font-weight:700}.inventory-modal__header p{margin:.25rem 0 0;font-size:.8rem;opacity:.8}.inventory-modal__body{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:1rem 1.5rem 0}.inventory-tabs{display:flex;gap:.5rem;margin-bottom:.75rem}.inventory-tab{flex:1;padding:.5rem;border:1px solid #e2e8f0;border-radius:.375rem;background:#f8fafc;font-size:.85rem;font-weight:600;color:#475569;cursor:pointer;transition:all .15s}.inventory-tab.active{background:#06b6d4;color:#fff;border-color:#06b6d4}.inventory-search{width:100%;padding:.5rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;margin-bottom:.75rem}.inventory-search:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 2px #06b6d426}.inventory-list{flex:1;overflow-y:auto;max-height:350px;display:flex;flex-direction:column;gap:.375rem}.inventory-item{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border:1px solid #e2e8f0;border-radius:.375rem;transition:all .15s;background:#fff}.inventory-item:hover{background:#f0f9ff;border-color:#06b6d4}.inventory-item.selected{background:#ecfdf5;border-color:#10b981}.inventory-item__select{display:flex;align-items:flex-start;gap:.75rem;flex:1;min-width:0;cursor:pointer}.inventory-item__select input[type=checkbox]{margin-top:.25rem;accent-color:#10b981}.inventory-item__info{display:flex;flex-direction:column;gap:.125rem;font-size:.8rem;color:#64748b;min-width:0}.inventory-item__info strong{font-size:.875rem;color:#1e293b}.inventory-borrow-btn{flex-shrink:0;padding:.375rem .625rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.inventory-borrow-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px);box-shadow:0 2px 6px #d977064d}.inventory-use-btn{flex-shrink:0;padding:.375rem .625rem;background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:.375rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}.inventory-use-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 2px 6px #0596694d}.inventory-empty{text-align:center;color:#94a3b8;padding:2rem;font-style:italic}.inventory-modal__footer{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc}.inventory-selected-count{font-size:.8rem;color:#64748b;font-weight:600}.inventory-modal__actions{display:flex;gap:.5rem}.protocol-library-panel{background:#fff;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:1rem}.protocol-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-weight:500;color:#1a365d}.protocol-toggle:hover{background:#f7fafc}.protocol-toggle .protocol-count{background:#06b6d4;color:#fff;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;margin-left:auto;margin-right:.5rem}.protocol-content{padding:1rem;border-top:1px solid #e2e8f0}.applied-protocols{background:#f0fff4;border:1px solid #9ae6b4;border-radius:6px;padding:.75rem;margin-bottom:1rem}.applied-protocols h4{margin:0 0 .5rem;font-size:.875rem;color:#22543d}.applied-protocol-item{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff;border-radius:4px;margin-bottom:.5rem}.applied-protocol-item:last-child{margin-bottom:0}.applied-protocol-item svg{color:#38a169}.applied-info{flex:1;display:flex;flex-direction:column}.applied-info .protocol-name{font-weight:500;color:#1a365d}.applied-info .protocol-version{font-size:.75rem;color:#718096}.deviation-badge{background:#fed7aa;color:#c05621;padding:.125rem .5rem;border-radius:4px;font-size:.75rem}.protocol-search{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f7fafc;border-radius:6px;margin-bottom:1rem}.protocol-search svg{color:#a0aec0}.protocol-search input{flex:1;border:none;background:none;outline:none;font-size:.875rem}.protocol-categories{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.category-btn{display:flex;align-items:center;gap:.25rem;padding:.375rem .75rem;border:1px solid #e2e8f0;border-radius:20px;background:#fff;cursor:pointer;font-size:.8rem;color:#4a5568;transition:all .2s}.category-btn:hover{border-color:#06b6d4;color:#06b6d4}.category-btn.active{background:#06b6d4;border-color:#06b6d4;color:#fff}.protocol-loading,.protocol-empty{text-align:center;padding:2rem;color:#718096}.protocol-empty small{display:block;margin-top:.5rem;font-size:.75rem}.protocol-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.protocol-item{padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;background:#fff;transition:all .2s}.protocol-item:hover{border-color:#06b6d4;box-shadow:0 2px 4px #0000000d}.protocol-item.applied{background:#f0fff4;border-color:#9ae6b4}.protocol-header{display:flex;align-items:flex-start;gap:.5rem}.protocol-icon{color:#06b6d4;margin-top:.125rem}.protocol-info{flex:1;display:flex;flex-direction:column}.protocol-info .protocol-name{font-weight:500;color:#1a365d}.protocol-info .protocol-meta{font-size:.75rem;color:#718096}.protocol-description{margin:.5rem 0;font-size:.875rem;color:#4a5568;line-height:1.4}.protocol-actions{display:flex;justify-content:flex-end;margin-top:.5rem}.applied-label{display:flex;align-items:center;gap:.25rem;color:#38a169;font-size:.875rem}.btn-sm{padding:.375rem .75rem;font-size:.8rem;border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem}.btn-sm.btn-primary{background:#06b6d4;color:#fff;border:none}.btn-sm.btn-primary:hover{background:#0891b2}.modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e2e8f0}.modal-header h3{margin:0;color:#1a365d}.modal-header button{background:none;border:none;cursor:pointer;color:#718096;padding:.25rem}.modal-body{padding:1rem}.protocol-preview{background:#f7fafc;padding:1rem;border-radius:6px;margin-bottom:1rem}.protocol-preview h4{margin:0 0 .5rem;color:#1a365d}.protocol-preview p{margin:0 0 .5rem;font-size:.875rem;color:#4a5568}.protocol-preview .protocol-meta{display:flex;gap:1rem;font-size:.75rem;color:#718096}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#4a5568}.form-group textarea{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem;resize:vertical}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.checkbox-label input{width:auto}.modal-actions{display:flex;gap:.5rem;justify-content:flex-end;padding:1rem;border-top:1px solid #e2e8f0}.btn-primary{padding:.5rem 1rem;background:#06b6d4;color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500}.btn-primary:hover{background:#0891b2}.btn-secondary{padding:.5rem 1rem;background:#fff;color:#4a5568;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer}.btn-secondary:hover{background:#f7fafc}.data-table-panel{background:#fff;border-radius:8px;border:1px solid #e2e8f0;margin-bottom:1rem}.data-table-toggle{width:100%;display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:none;border:none;cursor:pointer;font-weight:500;color:#1a365d}.data-table-toggle:hover{background:#f7fafc}.table-count{background:#06b6d4;color:#fff;padding:.125rem .5rem;border-radius:10px;font-size:.75rem;margin-left:auto;margin-right:.5rem}.data-table-content{padding:1rem;border-top:1px solid #e2e8f0}.table-selector{display:flex;gap:.5rem;margin-bottom:1rem}.table-selector select{flex:1;padding:.5rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem}.table-container{overflow-x:auto}.data-grid{width:100%;border-collapse:collapse;font-size:.875rem}.data-grid th,.data-grid td{padding:.5rem;text-align:left;border:1px solid #e2e8f0}.data-grid th{background:#f7fafc;font-weight:500;color:#4a5568}.col-unit{font-weight:400;color:#a0aec0;margin-left:.25rem}.row-number{width:40px;text-align:center;color:#a0aec0}.row-actions{width:80px;text-align:center}.data-grid tr.validated{background:#f0fff4}.data-grid tr.new-row{background:#fffbeb}.data-grid tr.new-row input{width:100%;padding:.25rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.8rem}.btn-icon{background:none;border:none;cursor:pointer;padding:.25rem;color:#718096;border-radius:4px}.btn-icon:hover{background:#f7fafc}.btn-icon.primary{color:#06b6d4}.btn-icon.danger{color:#dc2626}.btn-icon.danger:hover{background:#fef2f2}.validated-badge{color:#38a169}.calculations{margin-top:1rem;padding:.75rem;background:#f7fafc;border-radius:6px}.calculations h4{margin:0 0 .5rem;font-size:.875rem;color:#4a5568;display:flex;align-items:center;gap:.5rem}.calc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.calc-item{display:flex;justify-content:space-between;padding:.375rem .5rem;background:#fff;border-radius:4px;border:1px solid #e2e8f0}.calc-name{color:#718096}.calc-value{font-weight:500;color:#1a365d}.columns-builder{display:flex;flex-direction:column;gap:.5rem}.column-row{display:flex;gap:.5rem}.column-row input,.column-row select{padding:.375rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem}.column-row input:first-child{flex:2}.column-row select{width:100px}.column-row input:last-of-type{width:80px}.btn-sm.btn-outline{padding:.375rem .75rem;background:#fff;color:#06b6d4;border:1px solid #06b6d4;border-radius:4px;cursor:pointer;font-size:.8rem;display:inline-flex;align-items:center;gap:.25rem}.btn-sm.btn-outline:hover{background:#ecfeff}.form-group input[type=text],.form-group input[type=number]{width:100%;padding:.5rem;border:1px solid #e2e8f0;border-radius:4px;font-size:.875rem}.experiment-links-panel{border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:1rem}.links-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.75rem 1rem;background:#f8fafc;border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:#334155;transition:background .2s}.links-toggle:hover{background:#f1f5f9}.links-toggle svg:first-child{color:#0891b2}.links-count{background:#0891b2;color:#fff;font-size:.75rem;padding:.125rem .5rem;border-radius:10px;margin-left:auto}.links-content{padding:1rem;border-top:1px solid #e2e8f0}.links-actions{margin-bottom:1rem}.links-loading,.links-empty{text-align:center;color:#64748b;padding:1.5rem}.links-empty small{display:block;margin-top:.25rem;color:#94a3b8}.links-list{display:flex;flex-direction:column;gap:1rem}.links-section h4{display:flex;align-items:center;gap:.5rem;font-size:.75rem;text-transform:uppercase;color:#64748b;margin-bottom:.5rem}.link-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f8fafc;border-radius:6px;border:1px solid #e2e8f0}.link-item.incoming{border-left:3px solid #94a3b8}.link-type{font-size:.625rem;font-weight:600;text-transform:uppercase;padding:.25rem .5rem;border-radius:4px;color:#fff;white-space:nowrap}.link-info{flex:1;min-width:0}.link-experiment{display:block;font-weight:500;color:#1e293b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-description{display:block;font-size:.75rem;color:#64748b;margin-top:.125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-actions{display:flex;gap:.5rem}.link-view{padding:.375rem;color:#64748b;border-radius:4px;transition:all .2s}.link-view:hover{color:#06b6d4;background:#ecfeff}.link-delete{padding:.375rem;color:#64748b;background:none;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.link-delete:hover{color:#dc2626;background:#fef2f2}.experiment-links-panel .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.experiment-links-panel .modal{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:auto;box-shadow:0 20px 25px -5px #0000001a}.experiment-links-panel .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e2e8f0}.experiment-links-panel .modal-header h3{margin:0;font-size:1.125rem}.experiment-links-panel .modal-header button{padding:.5rem;background:none;border:none;cursor:pointer;color:#64748b}.experiment-links-panel .modal-body{padding:1.5rem}.experiment-links-panel .form-group{margin-bottom:1rem}.experiment-links-panel .form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:.5rem}.experiment-links-panel .form-group select,.experiment-links-panel .form-group textarea{width:100%;padding:.625rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem}.experiment-links-panel .form-group select:focus,.experiment-links-panel .form-group textarea:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.experiment-links-panel .modal-actions{display:flex;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e2e8f0}.btn-sm{padding:.375rem .75rem;font-size:.75rem;border-radius:4px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:.375rem;font-weight:500}.btn-primary{background:#0891b2;color:#fff}.btn-primary:disabled{background:#a5b4fc;cursor:not-allowed}.btn-secondary{background:#f1f5f9;color:#475569}.experiment-page{padding:1.5rem;max-width:1400px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 0;background:none;border:none;color:#6b7280;font-size:.875rem;cursor:pointer;margin-bottom:1rem}.back-btn:hover{color:#0e7490}.experiment-header{margin-bottom:1.5rem;border-radius:.75rem;overflow:hidden;border:1px solid #1a365d;box-shadow:0 1px 3px #0000001a;background:#1e3a5f}.experiment-header .back-btn{color:#fffc;padding:.5rem .875rem;margin-bottom:0;font-size:.8125rem}.experiment-header .back-btn:hover{color:#fff}.experiment-header__main{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.625rem .875rem;background:linear-gradient(135deg,#1e3a5f,#1a365d);color:#fff}.experiment-header__title{display:flex;align-items:center;gap:.75rem;flex:1}.entry-type-icon{font-size:1rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#06b6d4;color:#fff;border-radius:.5rem;border:1px solid #0891b2;box-shadow:0 1px 3px #0003}.title-input{flex:1;font-size:1.1rem;font-weight:700;border:1px solid transparent;padding:.5rem;border-radius:.375rem;color:#fff;background:transparent;transition:border-color .15s}.title-input::placeholder{color:#fff9}.title-input:hover,.title-input:focus{outline:none;border-color:#ffffff4d;background:#ffffff1a;color:#fff}.experiment-header__actions{display:flex;gap:.5rem}.experiment-header__actions .btn{font-weight:500}.experiment-header__actions .btn.btn-primary{background:#06b6d4;border:1px solid #0891b2;color:#fff;font-weight:600}.experiment-header__actions .btn.btn-primary:hover{background:#0891b2;border-color:#0e7490}.experiment-header__actions .btn.btn-primary:disabled{background:#64748b;border-color:#475569;cursor:not-allowed}.experiment-header__actions .btn.btn-secondary{background:#e2e8f0;border:1px solid #cbd5e1;color:#1e293b}.experiment-header__actions .btn.btn-secondary:hover{background:#cbd5e1;border-color:#94a3b8}.experiment-meta{display:flex;flex-wrap:wrap;gap:1rem;padding:.625rem .875rem;background:#f8fafc;border-bottom:1px solid #e2e8f0}.meta-item{display:flex;flex-direction:column;gap:.25rem}.meta-item label{font-size:.75rem;font-weight:500;color:#6b7280;text-transform:uppercase}.meta-item select{padding:.375rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;background:#fff;text-transform:capitalize}.meta-item select:focus{outline:none;border-color:#0e7490}.meta-item--wide{flex:1;min-width:200px}.experiment-content{display:grid;grid-template-columns:1fr 300px;gap:1.5rem}.sections-column{display:flex;flex-direction:column;gap:1rem}.section-editor{background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;overflow:hidden;box-shadow:0 1px 3px #0000000f}.section-editor__header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.75rem 1rem;background:#eef2f7;border:none;border-bottom:1px solid #cbd5e1;cursor:pointer;text-align:left;transition:background .15s}.section-editor__header:hover{background:#e2e8f0}.section-editor__header h3{margin:0;font-size:.9375rem;font-weight:600;color:#1e293b}.section-editor__header .toggle{font-size:1.25rem;color:#64748b}.section-editor__content{padding:1rem}.section-editor__content textarea{width:100%;border:1px solid #cbd5e1;border-radius:.375rem;padding:.75rem;font-size:.875rem;font-family:inherit;resize:vertical;min-height:120px}.section-editor__content textarea:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #06b6d41a}.sidebar-column{display:flex;flex-direction:column;gap:1rem}.sidebar-section{background:#fff;border:1px solid #cbd5e1;border-radius:.5rem;padding:1rem;box-shadow:0 1px 3px #0000000f}.sidebar-section h3{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.875rem;font-weight:600;color:#1e293b}.sidebar-section h3 svg{color:#0891b2}.sidebar-hint{margin:0 0 .75rem;font-size:.75rem;color:#64748b}.upload-btn{display:inline-block;padding:.375rem .75rem;background:#eef2f7;border:1px dashed #94a3b8;border-radius:.375rem;font-size:.75rem;color:#475569;cursor:pointer;text-align:center;width:100%}.upload-btn:hover{background:#e2e8f0;border-color:#64748b;color:#1e293b}.attachments-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.attachment-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem;background:#f9fafb;border-radius:.25rem;font-size:.75rem}.attachment-name{color:#374151;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-size{color:#9ca3af;flex-shrink:0}.locked-banner{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fef3c7;color:#92400e;border-radius:.375rem;font-size:.75rem;font-weight:500;margin-bottom:.75rem}.locked-banner svg{font-size:.875rem}.info-item{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.75rem;border-bottom:1px solid #f3f4f6}.info-item:last-child{border-bottom:none}.info-label{color:#6b7280}.info-value{color:#374151;font-weight:500}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-sm{padding:.375rem .75rem;font-size:.75rem}.btn-primary{background:#0891b2;color:#fff;border:none}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed}.btn-secondary{background:#f1f5f9;color:#1e293b;border:1px solid #cbd5e1}.btn-secondary:hover{background:#e2e8f0;border-color:#94a3b8}.loading{display:flex;align-items:center;justify-content:center;padding:4rem;color:#6b7280}.error{display:flex;align-items:center;justify-content:center;padding:4rem;color:#dc2626}.notes-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.note-item{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem;background:#f9fafb;border-radius:.375rem;font-size:.75rem}.note-item__content{flex:1;min-width:0}.note-title{display:block;color:#374151;margin-bottom:.25rem}.note-text{margin:0;color:#6b7280;word-break:break-word}.note-date{display:block;margin-top:.25rem;color:#9ca3af;font-size:.625rem}.note-delete-btn{background:none;border:none;padding:.25rem;color:#9ca3af;cursor:pointer;flex-shrink:0}.note-delete-btn:hover{color:#dc2626}@media(max-width:768px){.experiment-content{grid-template-columns:1fr}.sidebar-column{order:-1}.experiment-meta{flex-direction:column}}.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#164e63,#0e7490);padding:1rem;position:relative;overflow:hidden}.auth-decoration{position:absolute;border-radius:50%;background:#ffffff08;pointer-events:none}.auth-decoration-1{width:400px;height:400px;top:-100px;right:-100px;animation:float 20s ease-in-out infinite}.auth-decoration-2{width:300px;height:300px;bottom:-50px;left:-50px;animation:float 15s ease-in-out infinite reverse}.auth-decoration-3{width:200px;height:200px;top:50%;left:10%;animation:float 18s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}.auth-card{background:#fffffffa;padding:2.5rem;border-radius:1.5rem;width:min(440px,95%);display:flex;flex-direction:column;gap:1rem;box-shadow:0 25px 50px -12px #0006,0 0 0 1px #ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:relative;z-index:10;animation:slideUp .5s ease-out}.auth-logo-section{text-align:center;margin-bottom:.5rem}.auth-logo-wrapper{width:80px;height:80px;margin:0 auto 1rem;background:linear-gradient(135deg,#0891b2,#0e7490);border-radius:1.25rem;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px #0891b24d;transition:transform .3s ease}.auth-logo-wrapper:hover{transform:scale(1.05)}.auth-logo{width:50px;height:50px;object-fit:contain;filter:brightness(0) invert(1)}.auth-title{font-size:1.75rem;font-weight:800;color:#0f172a;margin:0;letter-spacing:-.025em}.auth-subtitle{font-size:.85rem;color:#64748b;margin:.375rem 0 0;font-weight:500}.auth-form-group{display:flex;flex-direction:column;gap:.375rem}.auth-label{font-size:.8rem;font-weight:600;color:#475569;margin-left:.25rem}.auth-input-wrapper{position:relative;display:flex;align-items:center}.auth-input-icon{position:absolute;left:1rem;font-size:1rem;z-index:1}.auth-input{width:100%;padding:.875rem 1rem .875rem 2.75rem;border-radius:.75rem;border:2px solid #e2e8f0;font-size:.95rem;transition:all .2s ease;background:#f8fafc}.auth-input:focus{outline:none;border-color:#0891b2;background:#fff;box-shadow:0 0 0 4px #0891b21a}.auth-input::placeholder{color:#94a3b8}.auth-field-error{font-size:.75rem;color:#dc2626;margin-left:.25rem;display:flex;align-items:center;gap:.25rem}.auth-options{display:flex;justify-content:flex-end;margin:-.25rem 0 .5rem}.auth-forgot-link{font-size:.8rem;color:#0891b2;text-decoration:none;font-weight:500;transition:color .2s ease}.auth-forgot-link:hover{color:#0e7490;text-decoration:underline}.auth-help-text{font-size:.75rem;color:#64748b;font-weight:500}.auth-submit-btn{width:100%;border:none;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;padding:1rem 1.5rem;border-radius:.75rem;cursor:pointer;font-weight:600;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;box-shadow:0 4px 12px #0891b24d;margin-top:.5rem}.auth-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #0891b266}.auth-submit-btn:active:not(:disabled){transform:translateY(0)}.auth-submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-btn-arrow{transition:transform .2s ease}.auth-submit-btn:hover .auth-btn-arrow{transform:translate(4px)}.auth-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.auth-footer{text-align:center;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.auth-footer p{font-size:.7rem;color:#94a3b8;margin:0}.auth-error{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b;padding:.75rem 1rem;border-radius:.75rem;border:1px solid #fca5a5;display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:500}.auth-error-icon{font-size:1rem}.auth-info{background:linear-gradient(135deg,#f0fdf4,#dcfce7);color:#166534;padding:.75rem 1rem;border-radius:.75rem;border:1px solid #86efac;font-size:.85rem;font-weight:500}@media(max-width:480px){.auth-card{padding:1.75rem}.auth-logo-wrapper{width:70px;height:70px}.auth-logo{width:42px;height:42px}.auth-title{font-size:1.5rem}}.auth-info-card{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:1rem;padding:1.5rem;text-align:center}.auth-info-icon{font-size:2.5rem;margin-bottom:.75rem}.auth-info-title{font-size:1.1rem;font-weight:700;color:#0f172a;margin:0 0 .5rem}.auth-info-text{font-size:.875rem;color:#475569;margin:0;line-height:1.5}.auth-contact-section{display:flex;flex-direction:column;gap:.75rem}.auth-contact-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;transition:all .2s ease}.auth-contact-item:hover{background:#f1f5f9;border-color:#cbd5e1}.auth-contact-icon{font-size:1.5rem}.auth-contact-label{font-size:.9rem;font-weight:600;color:#0f172a}.auth-contact-desc{font-size:.75rem;color:#64748b;margin-top:.125rem}.auth-back-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem 1.5rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border:none;border-radius:.75rem;font-weight:600;font-size:.95rem;text-decoration:none;transition:all .2s ease;box-shadow:0 4px 12px #0891b24d}.auth-back-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0891b266}@media screen and (max-width:768px){.auth-shell{padding:.75rem}.auth-card{padding:2rem 1.5rem;width:min(440px,100%);border-radius:1.25rem}.auth-logo-wrapper{width:70px;height:70px;border-radius:1rem}.auth-logo{width:45px;height:45px}.auth-title{font-size:1.5rem}.auth-subtitle{font-size:.8rem}.auth-input{padding:.75rem 1rem .75rem 2.5rem;font-size:16px}.auth-submit-btn{padding:.875rem 1.25rem;font-size:.95rem}.auth-decoration-1{width:300px;height:300px;top:-80px;right:-80px}.auth-decoration-2{width:200px;height:200px;bottom:-40px;left:-40px}.auth-decoration-3{display:none}}@media screen and (max-width:480px){.auth-shell{padding:2rem .5rem .5rem;align-items:flex-start}.auth-card{padding:1.5rem 1.25rem;border-radius:1rem;gap:.75rem}.auth-logo-wrapper{width:60px;height:60px;margin-bottom:.75rem}.auth-logo{width:38px;height:38px}.auth-title{font-size:1.35rem}.auth-subtitle,.auth-label{font-size:.75rem}.auth-input{padding:.75rem .875rem .75rem 2.25rem;border-radius:.625rem;font-size:16px}.auth-input-icon{left:.75rem;font-size:.9rem}.auth-submit-btn{padding:.8rem 1rem;font-size:.9rem;border-radius:.625rem}.auth-options{margin:0 0 .25rem}.auth-forgot-link{font-size:.75rem}.auth-footer,.auth-footer-link{font-size:.8rem}.auth-decoration-1,.auth-decoration-2{display:none}.auth-contact-item{padding:.75rem;gap:.75rem}.auth-contact-icon{font-size:1.25rem}.auth-contact-label{font-size:.85rem}.auth-contact-desc{font-size:.7rem}}@media screen and (max-width:360px){.auth-card{padding:1.25rem 1rem}.auth-title{font-size:1.25rem}.auth-input{padding-left:2rem}.auth-input-icon{left:.625rem}}@media(hover:none)and (pointer:coarse){.auth-submit-btn,.auth-back-btn,.auth-input{min-height:48px}.auth-contact-item{min-height:56px}.auth-forgot-link{padding:.5rem 0}}@media screen and (max-width:768px)and (orientation:landscape){.auth-shell{align-items:center;padding-top:.5rem}.auth-card{padding:1.25rem 1.5rem;gap:.5rem}.auth-logo-section{margin-bottom:.25rem}.auth-logo-wrapper{width:50px;height:50px;margin-bottom:.5rem}.auth-title{font-size:1.25rem}.auth-subtitle{display:none}}@media(prefers-reduced-motion:reduce){.auth-card,.auth-submit-btn,.auth-back-btn,.auth-decoration{animation:none;transition:none}}.settings-container{display:flex;flex-direction:column;gap:.75rem;min-height:calc(100vh - 120px);padding:1rem}.settings-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.settings-stat-card{padding:.75rem 1rem;border-radius:.5rem;display:flex;align-items:center;gap:.75rem;border:1px solid}.settings-stat-icon{width:2.25rem;height:2.25rem;border-radius:.5rem;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.9rem;flex-shrink:0}.settings-stat-value{font-size:.9rem;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.settings-stat-label{font-size:.65rem;color:#64748b;text-transform:uppercase;font-weight:500}.settings-card{background:#fff;border-radius:.5rem;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d;overflow:hidden;display:flex;flex-direction:column}.settings-card-header{padding:.75rem 1rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);flex-wrap:wrap;gap:.5rem}.settings-card-title{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#0f172a}.settings-card-subtitle{font-size:.7rem;color:#64748b}.settings-card-body{padding:.75rem 1rem;flex:1}.settings-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;flex:1}.settings-grid-three{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem}.settings-info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f1f5f9;gap:.5rem}.settings-info-row:last-child{border-bottom:none}.settings-info-label{font-size:.8rem;font-weight:500;color:#64748b}.settings-info-value{font-size:.8rem;font-weight:600;color:#0f172a;text-align:right;word-break:break-word}.settings-badge{padding:.2rem .5rem;border-radius:9999px;font-weight:600;font-size:.7rem;display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}.settings-role-badge{padding:.35rem .625rem;border-radius:.375rem;background:linear-gradient(135deg,#ecfeff,#cffafe);color:#0e7490;font-weight:600;font-size:.75rem;border:1px solid #a5f3fc;display:inline-flex;align-items:center;gap:.375rem}.settings-permission-item{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:#f8fafc;border-radius:.375rem;border:1px solid #e2e8f0;font-size:.75rem;font-weight:500;color:#475569}.settings-btn{padding:.5rem 1rem;border-radius:.375rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:.375rem;white-space:nowrap}.settings-btn-primary{background:linear-gradient(135deg,#06b6d4,#0891b2);color:#fff;border:none;box-shadow:0 2px 4px #06b6d44d}.settings-btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 8px #06b6d466}.settings-btn-secondary{background:#fff;color:#475569;border:1px solid #e2e8f0}.settings-btn-secondary:hover{background:#f8fafc}.settings-session-item{display:flex;justify-content:space-between;align-items:center;padding:.625rem;border-bottom:1px solid #f1f5f9;gap:.5rem;flex-wrap:wrap}.settings-session-info{flex:1;min-width:0}.settings-session-device{font-size:.8rem;font-weight:500;color:#1e293b;display:flex;align-items:center;gap:.375rem}.settings-session-meta{font-size:.7rem;color:#64748b}@media screen and (max-width:1024px){.settings-container{padding:.75rem}.settings-stats-row{grid-template-columns:repeat(2,1fr)}.settings-grid-two{grid-template-columns:1fr}.settings-grid-three{grid-template-columns:1fr 1fr}}@media screen and (max-width:768px){.settings-container{padding:.5rem;gap:.5rem}.settings-stats-row{grid-template-columns:repeat(2,1fr);gap:.5rem}.settings-stat-card{padding:.625rem .75rem}.settings-stat-icon{width:2rem;height:2rem;font-size:.8rem}.settings-stat-value{font-size:.8rem}.settings-stat-label{font-size:.6rem}.settings-card-header,.settings-card-body{padding:.625rem .75rem}.settings-grid-three{grid-template-columns:1fr}.settings-info-row{flex-direction:column;align-items:flex-start;gap:.25rem}.settings-info-value{text-align:left}.settings-session-item{flex-direction:column;align-items:flex-start}.settings-btn{width:100%;justify-content:center;padding:.625rem 1rem}}@media screen and (max-width:480px){.settings-container{padding:.375rem}.settings-stats-row{grid-template-columns:1fr}.settings-stat-card{padding:.5rem .625rem}.settings-card-title{font-size:.8rem}.settings-info-label,.settings-info-value{font-size:.75rem}.settings-permission-item{font-size:.7rem;padding:.25rem .5rem}}@media(hover:none)and (pointer:coarse){.settings-btn{min-height:44px}.settings-session-item{padding:.75rem}.settings-card-body input,.settings-card-body select,.settings-card-body textarea{min-height:48px;font-size:16px}}@media print{.settings-btn{display:none!important}.settings-card{break-inside:avoid}}.audit-container{display:flex;flex-direction:column;gap:1rem}.audit-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;padding:1rem 1.25rem;background-color:#f8fafc;border-radius:.75rem;border:1px solid #e2e8f0}.audit-filter-group{display:flex;flex-direction:column;gap:.375rem}.audit-filter-label{font-size:.75rem;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.025em}.audit-filter-select,.audit-filter-input{padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;background-color:#fff;transition:all .2s ease}.audit-filter-select:focus,.audit-filter-input:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.audit-filter-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;flex-wrap:wrap;gap:.5rem}.audit-filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:.5rem;background-color:#e2e8f0;color:#475569;font-weight:500;cursor:pointer;transition:all .2s ease}.audit-filter-toggle:hover{background-color:#cbd5e1}.audit-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.audit-table{width:100%;border-collapse:collapse;font-size:.875rem}.audit-table th,.audit-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid #f1f5f9}.audit-table th{background-color:#f8fafc;font-weight:600;color:#475569;font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.audit-table tbody tr:hover{background-color:#f8fafc}.audit-status-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .625rem;border-radius:100px;font-size:.75rem;font-weight:600}.audit-status-success{background-color:#dcfce7;color:#166534}.audit-status-failed{background-color:#fee2e2;color:#991b1b}.audit-status-pending{background-color:#fef9c3;color:#854d0e}.audit-action-badge{display:inline-block;padding:.25rem .5rem;border-radius:.375rem;font-size:.75rem;font-weight:500}.audit-expanded-row{background-color:#f8fafc}.audit-expanded-content{padding:1rem 1.25rem}.audit-changes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.75rem}.audit-change-item{padding:.75rem;background-color:#fff;border-radius:.5rem;border:1px solid #e2e8f0}.audit-pagination{display:flex;justify-content:center;align-items:center;gap:.5rem;padding:1rem;border-top:1px solid #e2e8f0;flex-wrap:wrap}.audit-pagination-btn{padding:.5rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;background-color:#fff;color:#475569;font-weight:500;cursor:pointer;transition:all .2s ease}.audit-pagination-btn:hover:not(:disabled){background-color:#f8fafc;border-color:#0891b2;color:#0891b2}.audit-pagination-btn:disabled{opacity:.5;cursor:not-allowed}.audit-pagination-info{padding:.5rem 1rem;color:#64748b;font-size:.875rem}.audit-card-view{display:none}@media screen and (max-width:1024px){.audit-filters{grid-template-columns:repeat(2,1fr)}.audit-table th,.audit-table td{padding:.625rem .75rem;font-size:.825rem}.audit-changes-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:768px){.audit-filters{grid-template-columns:1fr 1fr;padding:.875rem 1rem;gap:.625rem}.audit-filter-select,.audit-filter-input{font-size:16px;padding:.5rem .75rem}.audit-filter-header{padding:.625rem .875rem}.audit-filter-toggle{font-size:.85rem;padding:.45rem .875rem}.audit-table-container{display:none}.audit-card-view{display:flex;flex-direction:column;gap:.75rem;padding:1rem}.audit-card{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem;box-shadow:0 1px 3px #0000000d}.audit-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:.5rem}.audit-card-action{font-weight:600;color:#0f172a;font-size:.9rem}.audit-card-user{color:#0891b2;font-weight:500;font-size:.85rem}.audit-card-body{display:flex;flex-direction:column;gap:.375rem;font-size:.825rem;color:#64748b}.audit-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.625rem;border-top:1px solid #f1f5f9;font-size:.75rem;color:#94a3b8}.audit-changes-grid{grid-template-columns:1fr}.audit-pagination{padding:.875rem;gap:.375rem}.audit-pagination-btn{padding:.45rem .75rem;font-size:.825rem}.audit-pagination-info{font-size:.8rem;width:100%;text-align:center;order:-1;margin-bottom:.5rem}}@media screen and (max-width:480px){.audit-filters{grid-template-columns:1fr;gap:.5rem}.audit-filter-header{flex-direction:column;align-items:stretch}.audit-filter-toggle{justify-content:center}.audit-card{padding:.875rem}.audit-card-action{font-size:.85rem}.audit-pagination-btn{padding:.4rem .625rem;font-size:.775rem}}@media screen and (max-width:360px){.audit-filter-select,.audit-filter-input{padding:.45rem .625rem}.audit-card-header,.audit-pagination{flex-direction:column}.audit-pagination-info{order:1;margin-bottom:0;margin-top:.5rem}}@media(hover:none)and (pointer:coarse){.audit-filter-select,.audit-filter-input,.audit-filter-toggle,.audit-pagination-btn,.audit-card{min-height:44px}.audit-filter-select,.audit-filter-input{min-height:48px;font-size:16px}.audit-table tbody tr{min-height:48px}}@media print{.audit-filters,.audit-filter-header,.audit-pagination{display:none}.audit-table-container{display:block;overflow:visible}.audit-card-view{display:none}.audit-table{font-size:10pt}.audit-table th,.audit-table td{padding:.375rem .5rem;border:1px solid #ccc}}.wiki-container{display:flex;min-height:calc(100vh - 60px);background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.wiki-sidebar{width:280px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;position:sticky;top:60px;height:calc(100vh - 60px);overflow-y:auto;box-shadow:2px 0 8px #0f172a0a}.wiki-sidebar-header{padding:1.25rem 1.25rem 1rem;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.wiki-sidebar-header h2{font-size:1.125rem;margin-bottom:.875rem;color:#0f172a;font-weight:700;display:flex;align-items:center;gap:.5rem}.wiki-search{width:100%;padding:.625rem 1rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.875rem;background:#fff;transition:all .15s ease}.wiki-search:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.wiki-nav{flex:1;padding:.75rem .625rem;display:flex;flex-direction:column;gap:.25rem}.wiki-nav-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .875rem;border:none;background:transparent;border-radius:.5rem;cursor:pointer;text-align:left;font-size:.875rem;color:#64748b;font-weight:500;transition:all .15s ease}.wiki-nav-item:hover{background:#f1f5f9;color:#334155}.wiki-nav-item.active{background:linear-gradient(135deg,#ecfeff,#cffafe);color:#0e7490;font-weight:600;box-shadow:inset 0 0 0 1px #0891b233}.wiki-nav-icon{font-size:1rem}.wiki-sidebar-footer{padding:1rem;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.5rem;background:#fafafa}.wiki-quick-link{font-size:.8rem;color:#0891b2;text-decoration:none;font-weight:500}.wiki-quick-link:hover{text-decoration:underline}.wiki-back-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:.5rem;text-decoration:none;font-weight:600;font-size:.8rem;transition:all .15s ease;box-shadow:0 2px 4px #0891b233}.wiki-back-btn:hover{background:linear-gradient(135deg,#0e7490,#164e63);transform:translate(-2px);box-shadow:0 4px 8px #0891b240}.wiki-main{flex:1;overflow-y:auto;padding:1.5rem 2.5rem;max-width:900px}.wiki-content{max-width:100%}.wiki-hero-banner{background:linear-gradient(135deg,#0891b2,#0e7490,#7c3aed);border-radius:1rem;padding:2.5rem;color:#fff;margin-bottom:1.5rem;box-shadow:0 8px 24px #0891b240;position:relative;overflow:hidden}.wiki-hero-banner:before{content:"";position:absolute;top:0;right:0;width:40%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(255,255,255,.1) 100%);pointer-events:none}.wiki-badge{display:inline-block;padding:.25rem .75rem;background:#fff3;border-radius:100px;font-size:.75rem;margin-bottom:.75rem;font-weight:600;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.wiki-hero-banner h1{font-size:2rem;margin-bottom:.5rem;font-weight:700}.wiki-hero-banner p{opacity:.9;font-size:1rem;line-height:1.5}.wiki-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.wiki-quick-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.25rem;text-align:left;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.wiki-quick-card:hover{border-color:#0891b2;box-shadow:0 8px 20px #0891b21f;transform:translateY(-3px)}.wiki-quick-icon{font-size:1.75rem;display:block;margin-bottom:.625rem}.wiki-quick-card h3{font-size:.9rem;margin-bottom:.375rem;color:#0f172a;font-weight:600}.wiki-quick-card p{font-size:.8rem;color:#64748b;margin:0;line-height:1.4}.wiki-breadcrumb{margin-bottom:1.25rem;font-size:.8rem;color:#64748b}.wiki-breadcrumb-sep{margin:0 .5rem;color:#94a3b8}.wiki-breadcrumb .active{color:#0f172a;font-weight:600}.wiki-doc-section{margin-bottom:2rem}.wiki-doc-section h2{font-size:1.25rem;margin-bottom:.875rem;padding-bottom:.5rem;border-bottom:2px solid #e2e8f0;color:#0f172a;font-weight:700}.wiki-intro{font-size:1rem;color:#475569;margin-bottom:1.5rem;line-height:1.7}.wiki-toc{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1px solid #e2e8f0;border-radius:.75rem;padding:1rem 1.25rem;margin-bottom:1.5rem}.wiki-toc h4{margin-bottom:.625rem;font-size:.8rem;color:#475569;text-transform:uppercase;font-weight:600}.wiki-toc ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.375rem 1.25rem}.wiki-toc a{color:#0891b2;text-decoration:none;font-size:.85rem;font-weight:500}.wiki-toc a:hover{text-decoration:underline}.wiki-topic-list{display:flex;flex-direction:column;gap:.375rem}.wiki-topic-link{display:flex;justify-content:space-between;align-items:center;padding:.625rem .875rem;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;cursor:pointer;transition:all .15s ease;text-align:left;color:#334155;font-weight:500;font-size:.875rem}.wiki-topic-link span{color:#0891b2;font-weight:600}.wiki-topic-link:hover{border-color:#0891b2;background:#ecfeff}.wiki-info-box{display:flex;gap:.75rem;padding:.875rem 1rem;border-radius:.625rem;margin:.875rem 0}.wiki-info-icon{font-size:1.125rem;flex-shrink:0}.wiki-info-info{background:#ecfeff;border:1px solid #a5f3fc}.wiki-info-tip{background:#ecfdf5;border:1px solid #a7f3d0}.wiki-info-warning{background:#fef9c3;border:1px solid #fde047}.wiki-info-example{background:#faf5ff;border:1px solid #e9d5ff}.wiki-step-list{display:flex;flex-direction:column;gap:.875rem;margin:.875rem 0}.wiki-step{display:flex;gap:.875rem;align-items:flex-start}.wiki-step-number{width:28px;height:28px;background:linear-gradient(135deg,#0891b2,#0e7490);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.8rem;flex-shrink:0;box-shadow:0 2px 4px #0891b233}.wiki-step-content{flex:1}.wiki-step-content strong{display:block;margin-bottom:.25rem;color:#0f172a;font-size:.9rem}.wiki-step-content p{margin:0;color:#64748b;font-size:.85rem}.wiki-table{width:100%;border-collapse:collapse;margin:.875rem 0;background:#fff;border-radius:.75rem;overflow:hidden;border:1px solid #e2e8f0;font-size:.85rem}.wiki-table th,.wiki-table td{padding:.625rem 1rem;text-align:left;border-bottom:1px solid #e2e8f0}.wiki-table th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);font-weight:600;color:#334155;font-size:.8rem;text-transform:uppercase}.wiki-table tr:last-child td{border-bottom:none}.wiki-table tr:hover td{background:#f8fafc}.wiki-feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.875rem;margin:.875rem 0}.wiki-feature-card{background:#fff;border:1px solid #e2e8f0;border-radius:.625rem;padding:1rem;text-align:center;transition:all .15s ease}.wiki-feature-card:hover{border-color:#c7d2fe;box-shadow:0 4px 12px #0891b214}.wiki-feature-icon{font-size:1.75rem;display:block;margin-bottom:.375rem}.wiki-feature-card h4{margin:0 0 .375rem;font-size:.85rem;color:#0f172a}.wiki-feature-card p{margin:0;font-size:.75rem;color:#64748b}.wiki-comparison{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin:.875rem 0}.wiki-comparison-card{background:#fff;border:1px solid #e2e8f0;border-radius:.625rem;padding:1rem}.wiki-comparison-card h4{margin:0 0 .75rem;color:#0f172a;font-size:.9rem}.wiki-comparison-card ul{margin:0;padding-left:1.125rem}.wiki-comparison-card li{margin-bottom:.375rem;color:#64748b;font-size:.85rem}.wiki-status-grid{display:grid;grid-template-columns:auto 1fr;gap:.5rem .875rem;align-items:center;margin:.875rem 0}.wiki-status-badge{display:inline-block;padding:.2rem .625rem;border-radius:100px;font-size:.75rem;font-weight:600}.wiki-status-active{background:#dcfce7;color:#166534}.wiki-status-pending{background:#fef9c3;color:#854d0e}.wiki-status-expired{background:#fee2e2;color:#991b1b}.wiki-status-revoked{background:#f3f4f6;color:#374151}.wiki-best-practices{display:flex;flex-direction:column;gap:.75rem}.wiki-best-practice{display:flex;gap:.875rem;padding:.875rem 1rem;background:#fff;border:1px solid #e2e8f0;border-radius:.625rem}.wiki-bp-icon{font-size:1.25rem}.wiki-best-practice strong{display:block;margin-bottom:.25rem;color:#0f172a;font-size:.9rem}.wiki-best-practice p{margin:0;color:#64748b;font-size:.85rem}.wiki-report-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.875rem;margin:.875rem 0}.wiki-report-card{background:#fff;border:1px solid #e2e8f0;border-radius:.625rem;padding:1rem;transition:all .15s ease}.wiki-report-card:hover{border-color:#c7d2fe;box-shadow:0 4px 12px #0891b214}.wiki-report-card h4{margin:0 0 .375rem;font-size:.9rem;color:#0f172a}.wiki-report-card p{margin:0;font-size:.8rem;color:#64748b}.wiki-flow{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;margin:1.25rem 0}.wiki-flow-step{padding:.5rem .875rem;border-radius:.5rem;font-size:.8rem;font-weight:600;color:#fff}.wiki-flow-pending{background:linear-gradient(135deg,#64748b,#475569)}.wiki-flow-review{background:linear-gradient(135deg,#0891b2,#0e7490)}.wiki-flow-approved{background:linear-gradient(135deg,#10b981,#059669)}.wiki-flow-active{background:linear-gradient(135deg,#06b6d4,#0891b2)}.wiki-flow-completed{background:linear-gradient(135deg,#0f172a,#1e293b)}.wiki-flow-arrow{font-size:1.125rem;color:#94a3b8}.wiki-hierarchy{display:flex;flex-direction:column;align-items:center;gap:0;margin:1.25rem 0}.wiki-hierarchy-level{padding:.625rem 1.75rem;color:#fff;font-weight:600;border-radius:.5rem;text-align:center;min-width:220px;font-size:.85rem}.wiki-hierarchy-connector{width:2px;height:16px;background:#e2e8f0}.wiki-matrix-example{overflow-x:auto;margin:.875rem 0}.wiki-matrix td:not(:first-child),.wiki-matrix th:not(:first-child){text-align:center;width:70px}.wiki-caption{font-size:.75rem;color:#64748b;text-align:center;margin-top:.375rem}@media(max-width:1024px){.wiki-sidebar{width:240px}.wiki-main{padding:1.25rem 1.5rem}.wiki-hero-banner{padding:2rem}.wiki-hero-banner h1{font-size:1.75rem}}@media(max-width:900px){.wiki-container{flex-direction:column}.wiki-sidebar{width:100%;position:static;height:auto;border-right:none;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 8px #0f172a0a}.wiki-nav{flex-direction:row;flex-wrap:wrap;padding:.5rem;gap:.25rem}.wiki-nav-item{padding:.5rem .75rem;font-size:.8rem}.wiki-main{padding:1.25rem;max-width:100%}.wiki-hero-banner{padding:1.75rem 1.25rem;border-radius:.75rem}.wiki-hero-banner h1{font-size:1.5rem}.wiki-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.wiki-section{padding:1.25rem}.wiki-section h2{font-size:1.125rem}}@media(max-width:600px){.wiki-sidebar-header{padding:1rem}.wiki-sidebar-header h2{font-size:1rem}.wiki-nav{overflow-x:auto;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding:.5rem .75rem;gap:.375rem}.wiki-nav-item{flex-shrink:0;padding:.5rem .625rem;font-size:.75rem}.wiki-main{padding:1rem}.wiki-hero-banner{padding:1.5rem 1rem;margin-bottom:1rem}.wiki-hero-banner h1{font-size:1.25rem}.wiki-hero-banner p{font-size:.875rem}.wiki-grid{grid-template-columns:1fr 1fr;gap:.625rem}.wiki-feature-card,.wiki-nav-card{padding:.875rem}.wiki-feature-icon,.wiki-card-icon{font-size:1.5rem}.wiki-section{padding:1rem;border-radius:.625rem;margin-bottom:1rem}.wiki-section h2{font-size:1rem;margin-bottom:.75rem}.wiki-section h3{font-size:.9rem}.wiki-table{font-size:.75rem}.wiki-table th,.wiki-table td{padding:.5rem .625rem}.wiki-code-block{padding:.75rem;font-size:.75rem}.wiki-info-box,.wiki-warning-box{padding:.875rem 1rem;font-size:.85rem}.wiki-comparison{grid-template-columns:1fr}.wiki-comparison-card{padding:.875rem}}@media(max-width:400px){.wiki-grid{grid-template-columns:1fr}.wiki-hero-banner{padding:1.25rem}.wiki-hero-banner h1{font-size:1.125rem}.wiki-nav-item{padding:.4rem .5rem}.wiki-back-btn{font-size:.75rem;padding:.5rem .75rem}.wiki-screenshot{border-radius:.5rem}}@media(hover:none)and (pointer:coarse){.wiki-nav-item,.wiki-feature-card,.wiki-nav-card,.wiki-back-btn{min-height:44px}.wiki-search{min-height:44px;font-size:16px}}@media(prefers-reduced-motion:reduce){.wiki-nav-item,.wiki-feature-card,.wiki-nav-card,.wiki-back-btn{transition:none}}@media print{.wiki-sidebar{display:none}.wiki-main{padding:0;max-width:100%}.wiki-hero-banner{background:#f1f5f9;color:#000;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.lab-management-page{padding:1.5rem;max-width:1400px;margin:0 auto}.lab-management-page .page-header{margin-bottom:1.5rem}.lab-management-page .page-header h1{margin:0;font-size:1.75rem;color:#1e293b}.lab-management-page .page-header p{margin:.25rem 0 0;color:#64748b;font-size:.9rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:8px;padding:1.25rem;box-shadow:0 1px 3px #0000001a;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:#0891b2}.stat-label{font-size:.85rem;color:#64748b;margin-top:.25rem}.tabs{display:flex;gap:.5rem;margin-bottom:1rem;border-bottom:2px solid #e2e8f0;padding-bottom:0}.tab{padding:.75rem 1.5rem;border:none;background:none;font-size:.95rem;font-weight:500;color:#64748b;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab:hover{color:#334155}.tab.active{color:#0891b2;border-bottom-color:#0891b2}.card{background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden}.card-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0}.card-header h3{margin:0;font-size:1.1rem;color:#1e293b}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid #f1f5f9}.data-table th{background:#f8fafc;font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.025em;color:#64748b}.data-table td{font-size:.9rem;color:#334155}.data-table code{background:#f1f5f9;padding:.2rem .5rem;border-radius:4px;font-size:.85rem;color:#475569}.inactive-row{opacity:.6;background:#f8fafc}.badge{display:inline-block;padding:.25rem .6rem;font-size:.75rem;font-weight:600;border-radius:4px;background:#e2e8f0;color:#475569}.badge.success{background:#dcfce7;color:#166534}.badge.danger{background:#fee2e2;color:#991b1b}.btn-primary{background:#0891b2;color:#fff;border:none;padding:.6rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#0e7490}.btn-primary:disabled{background:#93c5fd;cursor:not-allowed}.btn-secondary{background:#f1f5f9;color:#475569;border:1px solid #e2e8f0;padding:.6rem 1.25rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover{background:#e2e8f0}.action-buttons{display:flex;gap:.5rem}.action-btn{padding:.4rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;border:none;transition:all .2s}.action-btn.edit{background:#e0f2fe;color:#0369a1}.action-btn.edit:hover{background:#bae6fd}.action-btn.delete{background:#fee2e2;color:#991b1b}.action-btn.delete:hover{background:#fecaca}.link-btn{background:none;border:none;color:#0891b2;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.link-btn:hover{color:#0e7490}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;padding:1.5rem;width:90%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 25px -5px #0000001a}.modal-content.wide{max-width:700px}.modal-content h3{margin:0 0 1.25rem;font-size:1.25rem;color:#1e293b}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.4rem;font-size:.9rem;font-weight:500;color:#374151}.form-group input[type=text],.form-group select{width:100%;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.95rem;transition:border-color .2s}.form-group input[type=text]:focus,.form-group select:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.form-group small{display:block;margin-top:.3rem;font-size:.8rem;color:#6b7280}.form-group.checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-group.checkbox input[type=checkbox]{width:1rem;height:1rem}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e2e8f0}.access-denied{padding:3rem;text-align:center;color:#991b1b;font-size:1.1rem}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}.data-table th,.data-table td{padding:.625rem .75rem;font-size:.85rem}.modal-content{padding:1.25rem}}.notifications{position:fixed;top:1rem;right:1rem;display:flex;flex-direction:column;gap:.75rem;z-index:9999}.notification{min-width:260px;max-width:360px;background:#164e63;color:#f8fafc;padding:.75rem 1rem;border-radius:.85rem;box-shadow:0 20px 45px #1e3a5f59;display:flex;flex-direction:column;gap:.25rem}.notification strong{font-size:.95rem}.notification.info{background:#0e7490}.notification.success{background:#0891b2}.notification.error{background:#164e63}.notification.warning{background:#06b6d4}:root{--primary: #0891b2;--primary-dark: #0e7490;--primary-light: #06b6d4;--primary-lighter: #22d3ee;--primary-bg: #cffafe;--primary-bg-light: #ecfeff;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-light: #94a3b8;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-dark: #164e63;--bg-dark-secondary: #155e75;--border-light: #e2e8f0;--border-medium: #cbd5e1;--success: #0891b2;--success-bg: #cffafe;--warning: #0e7490;--warning-bg: #ecfeff;--danger: #1e293b;--danger-bg: #f1f5f9;--font-xs: .75rem;--font-sm: .875rem;--font-base: 1rem;--font-md: 1.125rem;--font-lg: 1.25rem;--font-xl: 1.5rem;--font-2xl: 2rem;--font-3xl: 2.5rem;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:var(--weight-normal);color:var(--text-primary);background-color:var(--bg-secondary)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background-color:#f1f5f9;font-size:var(--font-base)}h1,.h1{font-size:var(--font-2xl);font-weight:var(--weight-bold);line-height:1.2;color:var(--text-primary);margin:0 0 .5rem}h2,.h2{font-size:var(--font-xl);font-weight:var(--weight-semibold);line-height:1.3;color:var(--text-primary);margin:0 0 .5rem}h3,.h3{font-size:var(--font-lg);font-weight:var(--weight-semibold);line-height:1.4;color:var(--text-primary);margin:0 0 .25rem}h4,.h4{font-size:var(--font-md);font-weight:var(--weight-medium);line-height:1.4;color:var(--text-primary);margin:0 0 .25rem}.text-xs{font-size:var(--font-xs)}.text-sm{font-size:var(--font-sm)}.text-base{font-size:var(--font-base)}.text-md{font-size:var(--font-md)}.text-lg{font-size:var(--font-lg)}.text-xl{font-size:var(--font-xl)}.text-2xl{font-size:var(--font-2xl)}.font-normal{font-weight:var(--weight-normal)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.page-title{font-size:var(--font-2xl);font-weight:var(--weight-bold);color:var(--text-primary);margin:0 0 .25rem}.page-subtitle{font-size:var(--font-sm);font-weight:var(--weight-normal);color:var(--text-muted);margin:0}.section-title{font-size:var(--font-lg);font-weight:var(--weight-semibold);color:var(--text-primary);margin:0 0 .25rem}.section-subtitle{font-size:var(--font-sm);font-weight:var(--weight-normal);color:var(--text-muted);margin:0}.label{font-size:var(--font-sm);font-weight:var(--weight-semibold);color:var(--text-secondary);display:block;margin-bottom:.375rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.animate-fadeIn{animation:fadeIn .3s ease-out}.animate-slideUp{animation:slideUp .4s ease-out}.animate-slideDown{animation:slideDown .3s ease-out}.animate-scaleIn{animation:scaleIn .3s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-bounce{animation:bounce .5s ease}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:200px 0}}input,select,textarea{font:inherit;border:1px solid #cbd5f5;border-radius:.75rem;padding:.45rem .65rem}a{color:inherit;text-decoration:none}button{font:inherit;border:none;border-radius:.85rem;background:#0891b2;color:#fff;padding:.6rem 1.3rem;cursor:pointer;font-weight:600;transition:all .2s ease}button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0891b24d}button:active:not(:disabled){transform:translateY(0)}button:disabled{opacity:.5;cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.hover-card{transition:all .3s ease}.hover-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #0000001a}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.status-dot.online{background:var(--primary)}.status-dot.offline{background:var(--text-primary)}.status-dot.pending{background:var(--primary-light)}.form-error{color:#b91c1c;font-size:.8rem;margin-top:.25rem;display:block;animation:slideDown .2s ease-out}.loader{display:inline-flex;align-items:center;gap:.5rem;color:#475569}.loader__spinner{width:16px;height:16px;border-radius:50%;border:2px solid #a5f3fc;border-top-color:#0891b2;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.ghost{background:transparent;color:#0f172a;border-radius:.75rem}.ghost.active{background:#0891b21f;color:#0e7490}.modal-overlay{position:fixed;inset:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.modal-content{background:#fff;border-radius:1rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;animation:scaleIn .3s ease-out}.modal-content.small{max-width:480px}.modal-content.large{max-width:1000px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:10}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.modal-body{padding:1.5rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding:1.5rem;border-top:1px solid #e2e8f0;position:sticky;bottom:0;background:#fff}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1.5rem}.form-grid.cols-2{grid-template-columns:repeat(2,1fr)}.form-grid.cols-3{grid-template-columns:repeat(3,1fr)}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-group label{font-weight:500;font-size:.9rem;color:#334155}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.625rem .875rem;border:1px solid #e2e8f0;border-radius:.5rem;font-size:.9rem;transition:all .2s ease;background-color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#0891b2;box-shadow:0 0 0 3px #0891b21a}.form-group textarea{min-height:100px;resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:#94a3b8}.form-group .form-hint{font-size:.75rem;color:#64748b;margin-top:.25rem}.form-group .form-error{font-size:.75rem;color:#dc2626;margin-top:.25rem}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#dc2626}.form-row{display:flex;gap:1rem;align-items:flex-start}.form-inline{display:flex;align-items:center;gap:.5rem}.form-checkbox,.form-radio{display:flex;align-items:center;gap:.5rem;cursor:pointer}.form-checkbox input,.form-radio input{width:1.125rem;height:1.125rem;cursor:pointer}@media screen and (max-width:1400px){.modal-content{max-width:720px}.modal-content.small{max-width:440px}.modal-content.large{max-width:900px}.modal-header{padding:1.25rem}.modal-header h2{font-size:1.125rem}.modal-body,.modal-actions{padding:1.25rem}.form-grid{gap:.875rem;padding:1.25rem}.form-group input,.form-group select,.form-group textarea{padding:.5rem .75rem;font-size:.875rem}.form-group label{font-size:.85rem}}@media screen and (max-width:1024px){.modal-content{max-width:90vw}.modal-content.large{max-width:95vw}.form-grid{gap:.875rem;padding:1.25rem}.form-grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media screen and (max-width:768px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%;max-height:95vh;border-radius:1.25rem 1.25rem 0 0;animation:slideUp .3s ease-out}.modal-content.small,.modal-content.large{max-width:100%}.modal-header{padding:1.25rem 1rem;border-radius:1.25rem 1.25rem 0 0}.modal-header h2{font-size:1.125rem}.modal-body{padding:1rem}.modal-actions{padding:1rem;flex-direction:column-reverse;gap:.5rem}.modal-actions button{width:100%;justify-content:center}.form-grid{grid-template-columns:1fr;gap:.75rem;padding:1rem}.form-grid.cols-2,.form-grid.cols-3{grid-template-columns:1fr}.form-group label{font-size:.85rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;font-size:16px;border-radius:.625rem}.form-row{flex-direction:column;gap:.75rem}.form-inline{flex-wrap:wrap}}@media screen and (max-width:480px){.modal-header{padding:1rem .875rem}.modal-header h2{font-size:1rem}.modal-actions{padding:.875rem}.form-grid{padding:.875rem;gap:.625rem}.form-group label{font-size:.8rem}.form-group input,.form-group select,.form-group textarea{padding:.625rem .75rem}}@media(hover:none)and (pointer:coarse){.modal-header button{min-width:44px;min-height:44px}.form-group input,.form-group select,.form-group textarea{min-height:48px}.form-checkbox input,.form-radio input{width:1.375rem;height:1.375rem}.modal-actions button{min-height:48px}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}button.primary{background:#0891b2;color:#fff}button.primary:hover:not(:disabled){background:#0e7490}button.danger{background:#dc2626;color:#fff}button.danger:hover:not(:disabled){background:#b91c1c}button.ghost:hover:not(:disabled){background:#0891b214}.action-btn{padding:.4rem .8rem;font-size:.85rem;border-radius:.5rem;cursor:pointer;border:none;font-weight:500;transition:all .2s}.action-btn.edit{background:var(--primary);color:#fff}.action-btn.edit:hover:not(:disabled){background:var(--primary-dark)}.action-btn.delete{background:var(--text-primary);color:#fff}.action-btn.delete:hover:not(:disabled){background:var(--bg-dark-secondary)}.version-item:hover{background-color:#f3f4f6;border-color:#0891b2}.stat-card{background:#fff;border-radius:1rem;padding:1.25rem 1.5rem;box-shadow:0 4px 6px -1px #0000000d;min-width:150px;transition:all .3s ease;border:1px solid rgba(0,0,0,.05)}.stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 20px -4px #0000001a}.stat-value{font-size:2rem;font-weight:800;color:#1e293b;margin-bottom:.25rem;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.stat-label{font-size:.875rem;color:#64748b;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.btn-primary{background:#0891b2;color:#fff;border:none;padding:.6rem 1.3rem;border-radius:.85rem;cursor:pointer;font-weight:600}.btn-primary:hover:not(:disabled){background:#0e7490}.btn-secondary{background:#64748b;color:#fff;border:none;padding:.6rem 1.3rem;border-radius:.85rem;cursor:pointer;font-weight:600}.btn-secondary:hover:not(:disabled){background:#475569}.badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;border-radius:9999px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.025em;transition:all .2s ease}.badge.success{background:linear-gradient(135deg,var(--primary-bg) 0%,var(--primary-bg-light) 100%);color:var(--primary-dark);border:1px solid var(--primary-lighter)}.badge.warning{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);color:var(--text-secondary);border:1px solid var(--border-medium)}.badge.danger{background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--border-light) 100%);color:var(--text-primary);border:1px solid var(--border-medium)}.badge.info{background:linear-gradient(135deg,var(--primary-bg) 0%,var(--primary-bg-light) 100%);color:var(--primary-dark);border:1px solid var(--primary-lighter)}input:focus,select:focus,textarea:focus{outline:none;border-color:#06b6d4;box-shadow:0 0 0 3px #06b6d41a}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.5rem .75rem;background:#1e293b;color:#fff;font-size:.75rem;border-radius:.5rem;white-space:nowrap;opacity:0;visibility:hidden;transition:all .2s ease}.tooltip:hover:after{opacity:1;visibility:visible;transform:translate(-50%) translateY(-4px)}.skeleton{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:.5rem}.empty-state{text-align:center;padding:3rem 2rem;color:#64748b}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.hide-on-mobile{display:block}.show-on-mobile{display:none}.hide-on-tablet{display:block}.show-on-tablet{display:none}@media screen and (max-width:768px){:root{--font-xs: .7rem;--font-sm: .8125rem;--font-base: .9375rem;--font-md: 1rem;--font-lg: 1.125rem;--font-xl: 1.25rem;--font-2xl: 1.5rem;--font-3xl: 2rem}.hide-on-mobile{display:none!important}.show-on-mobile{display:block!important}h1,.h1{font-size:var(--font-xl)}h2,.h2{font-size:var(--font-lg)}h3,.h3{font-size:var(--font-md)}}@media screen and (max-width:1024px){.hide-on-tablet{display:none!important}.show-on-tablet{display:block!important}}@media(hover:none)and (pointer:coarse){button,a,input[type=button],input[type=submit],select{min-height:44px}input,textarea,select{font-size:16px}}@media screen and (max-width:768px){::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{body{background-color:#fff}.no-print{display:none!important}}@media(max-width:768px){.eln-sidebar,.sidebar-column{position:static;width:100%}.mobile-menu-toggle{display:flex!important;align-items:center;justify-content:center;width:44px;height:44px;background:none;border:none;cursor:pointer;color:#64748b;border-radius:8px}.mobile-menu-toggle:active{background:#f1f5f9}.eln-mobile-bottom-nav{display:flex!important;position:fixed;bottom:0;left:0;right:0;height:64px;background:#fff;border-top:1px solid #e2e8f0;z-index:90;padding-bottom:env(safe-area-inset-bottom)}.eln-mobile-bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.5rem;background:none;border:none;color:#64748b;text-decoration:none;font-size:.625rem;cursor:pointer;transition:color .2s}.eln-mobile-bottom-nav-item.active{color:#4f46e5}.eln-mobile-bottom-nav-item svg{font-size:1.25rem}}@media(max-width:768px){.experiment-page{padding:1rem}.experiment-content{display:flex;flex-direction:column;gap:1rem}.sections-column{order:1}.sidebar-column{order:2;display:flex;flex-direction:column;gap:.75rem}.experiment-header__main{flex-direction:column;gap:1rem;align-items:stretch}.experiment-header__title{flex-direction:column;align-items:flex-start}.title-input{font-size:1.25rem}.experiment-header__actions{width:100%;justify-content:stretch}.experiment-header__actions .btn{flex:1;justify-content:center}.experiment-meta{flex-direction:column;gap:.75rem}.meta-item{width:100%}.meta-item--wide{min-width:unset}}@media(max-width:640px){.projects-page{padding:1rem}.projects-header{flex-direction:column;gap:1rem;align-items:stretch}.projects-grid{grid-template-columns:1fr}.project-card{padding:1rem}}@media(max-width:768px){.protocol-library-panel,.data-table-panel,.comments-panel,.experiment-links-panel,.signature-panel,.audit-trail-panel,.export-panel{margin:0 -1rem;border-radius:0;border-left:none;border-right:none}.protocol-toggle,.data-table-toggle,.comments-toggle,.links-toggle,.signature-toggle,.audit-toggle,.export-toggle{padding:1rem;min-height:52px}.btn-sm{padding:.5rem .75rem;min-height:44px}}@media(max-width:640px){.modal-overlay{padding:0;align-items:flex-end}.modal{max-width:100%;max-height:90vh;border-radius:16px 16px 0 0;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{padding:1rem 1.25rem;border-bottom:1px solid #e2e8f0;position:sticky;top:0;background:#fff;z-index:1}.modal:before{content:"";display:block;width:40px;height:4px;background:#e2e8f0;border-radius:2px;margin:8px auto 0}.modal-body{padding:1.25rem;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-actions{padding:1rem 1.25rem;padding-bottom:calc(1rem + env(safe-area-inset-bottom));flex-direction:column;gap:.5rem}.modal-actions button{width:100%;min-height:48px}}@media(max-width:640px){input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],select,textarea{font-size:16px!important;min-height:44px;padding:.75rem}textarea{min-height:100px}input[type=checkbox],input[type=radio]{width:20px;height:20px}.form-group{margin-bottom:1rem}.form-group label{margin-bottom:.5rem}}@media(max-width:640px){.data-table-container{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -1rem;padding:0 1rem}.data-table{min-width:600px}.data-table th,.data-table td{padding:.75rem .5rem;white-space:nowrap}.data-card-view{display:flex;flex-direction:column;gap:.75rem}.data-card{background:#f8fafc;border-radius:8px;padding:1rem}.data-card-row{display:flex;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid #e2e8f0}.data-card-row:last-child{border-bottom:none}}@media(hover:none)and (pointer:coarse){button,a,.clickable{min-height:44px;min-width:44px}button:hover,a:hover{opacity:1}button:active,a:active{opacity:.7}.swipe-hint{display:flex;align-items:center;gap:.5rem;padding:.5rem;color:#94a3b8;font-size:.75rem}.swipe-hint:before{content:"←";animation:swipeHint 1.5s infinite}@keyframes swipeHint{0%,to{transform:translate(0)}50%{transform:translate(-5px)}}}@media(max-width:896px)and (max-height:480px)and (orientation:landscape){.mobile-bottom-nav{display:none!important}.main-content{padding-bottom:1rem!important}.modal{max-height:100vh;border-radius:12px}.modal-body{max-height:60vh}}@media print{.mobile-menu-toggle,.eln-mobile-bottom-nav{display:none!important}.eln-sidebar{position:static;width:auto}}@supports (padding: env(safe-area-inset-bottom)){.eln-mobile-bottom-nav{padding-bottom:env(safe-area-inset-bottom)}.modal-actions{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.eln-sidebar{padding-top:env(safe-area-inset-top)}}
