.landing-page{font-family:var(--font-sans);color:var(--color-text);background:#fafafa;min-height:100vh;overflow-x:hidden}.landing-header{border-bottom:1px solid var(--color-border-light);background:#fff;justify-content:space-between;align-items:center;padding:16px 40px;display:flex}.landing-hero{text-align:center;color:#fff;background:linear-gradient(135deg,#1a3d5c 0%,#8b2520 100%);padding:60px 20px}.landing-hero__content{max-width:800px;margin:0 auto}.landing-hero__title{margin-bottom:16px;font-size:38px;font-weight:700;line-height:1.2;color:#fff!important}.landing-hero__subtitle{margin-bottom:32px;font-size:18px;line-height:1.5;color:#ffffffe6!important}.landing-hero__actions{justify-content:center;gap:16px;display:flex}.landing-features{max-width:1200px;margin:0 auto;padding:40px 20px 60px}.landing-section-title{text-align:center;margin-bottom:32px;font-size:28px;color:var(--color-brand-navy)!important}.landing-features__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;display:grid}.landing-card{border-radius:var(--radius-lg);border:1px solid var(--color-border-light);box-shadow:var(--shadow-sm);box-sizing:border-box;background:#fff;padding:24px;transition:transform .2s,box-shadow .2s}.landing-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.landing-card__icon{background:var(--color-info-light);border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:16px;display:flex}.landing-card h3{color:var(--color-brand-navy);margin-bottom:8px;font-size:17px;font-weight:600}.landing-card p{color:var(--color-text-muted);margin:0;font-size:13px;line-height:1.5}.landing-audience{background:var(--color-info-light);text-align:center;padding:40px 20px}.landing-audience p{max-width:800px;color:var(--color-text);margin:0 auto;font-size:16px;line-height:1.6}.landing-footer{background:var(--color-brand-navy);color:#fff;text-align:center;padding:32px 20px;font-size:13px}.landing-footer p{margin-bottom:8px;color:#fffc!important}.landing-footer a{color:#ffd54f;font-weight:500;text-decoration:none}.landing-footer a:hover{text-decoration:underline}@media (width<=768px){.landing-hero__title{font-size:28px}.landing-hero{padding:40px 20px}.landing-header{padding:16px 20px}}.App{padding:var(--space-3) var(--space-4);box-sizing:border-box;flex-direction:column;height:100vh;display:flex;overflow:hidden}.topbar{padding:var(--space-2) 0;border-bottom:1px solid var(--color-border-light);margin-bottom:var(--space-2);align-items:center;gap:8px;min-height:40px;display:flex}.topbar-logo{flex-shrink:0}.topbar .btn,.topbar .file-upload,.topbar .view-control--button,.topbar .view-control__select,.topbar .scale-selector .select,.topbar .user-menu-trigger{box-sizing:border-box;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;height:32px;padding:0 12px;font-family:inherit;font-size:13px;line-height:1;display:inline-flex}.topbar .btn{padding:0 12px}.topbar .file-upload{font-weight:var(--fw-medium);padding:0 14px}.topbar .view-control{align-items:center;gap:6px}.topbar .view-control--button:focus{outline:none;box-shadow:0 0 0 2px #2c528226}.topbar .view-control__label{color:var(--color-text-subtle);white-space:nowrap;font-size:12px}.topbar .view-control__select,.topbar .scale-selector .select{appearance:none;cursor:pointer;border:1px solid var(--color-border);color:var(--color-text);background-color:#fff;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'><path fill='%23666' d='M6 9L2 4h8z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding:0 28px 0 12px}.topbar .view-control__select:focus,.topbar .scale-selector .select:focus{border-color:var(--color-accent-blue);outline:none}.topbar .view-control--button{padding:0 12px}.topbar .scale-selector{gap:6px;margin-left:0}.topbar-well-block{border:1px solid var(--color-border-light);background:var(--color-bg-muted);height:32px;font-family:var(--font-mono);font-size:13px;font-weight:var(--fw-bold);color:var(--color-brand-navy);box-sizing:border-box;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;max-width:260px;padding:0 12px;display:inline-flex;overflow:hidden}.topbar-well-block .well-name{text-overflow:ellipsis;overflow:hidden}.topbar-sep{background:var(--color-border-light);flex-shrink:0;width:1px;height:20px;margin:0 4px}.topbar-spacer{flex:1;min-width:0}.topbar .user-menu{margin-left:0}.topbar .user-menu-trigger{border-radius:8px;padding:0 10px 0 4px}.topbar .user-avatar{border-radius:50%}.file-upload{align-items:center;gap:var(--space-2);cursor:pointer;display:inline-flex}.file-upload input[type=file]{display:none}.file-upload-name{text-overflow:ellipsis;white-space:nowrap;max-width:240px;font-size:var(--fs-sm);color:var(--color-text-muted);overflow:hidden}.scale-selector{align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--color-text-muted);margin-left:auto;display:flex}.scale-selector .select{width:auto;min-width:140px}.curves-bar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-muted);border:1px solid var(--color-border-light);border-radius:var(--radius-sm);font-size:var(--fs-sm);margin-bottom:var(--space-2);display:flex}.curves-bar-label{font-weight:var(--fw-bold);color:var(--color-brand-navy);flex-shrink:0}.curves-bar-list{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--color-text);font-size:var(--fs-sm);flex:1;overflow:hidden}.curves-bar-count{flex-shrink:0}.curves-panel{margin-bottom:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg-subtle);border:1px solid var(--color-border-light);border-radius:var(--radius-sm)}.curves-columns{gap:var(--space-3);align-items:flex-start;display:flex}.curves-column{flex:1 1 0;min-width:0}.group-header{font-weight:var(--fw-bold);font-size:var(--fs-sm);color:var(--color-brand-navy);padding:3px var(--space-2);margin-bottom:var(--space-1);border-left:3px solid var(--color-accent-blue);background:var(--color-info-light);border-radius:2px}.group-header.service{color:var(--color-text-muted);border-left-color:var(--color-text-subtle);background:var(--color-bg-muted)}.checkbox-grid{gap:2px var(--space-2);border:1px solid var(--color-border-subtle);max-height:200px;padding:var(--space-2);border-radius:var(--radius-sm);background:#fff;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));display:grid;overflow-y:auto}.checkbox-grid label{font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;line-height:1.5;overflow:hidden}.chart-wrapper{flex-direction:column;flex:0 auto;min-height:0;max-height:100%;display:flex;position:relative;overflow:hidden}.initial-loading{text-align:center;padding:var(--space-6);font-size:var(--fs-base);color:var(--color-text-muted)}.loading-overlay{z-index:10;pointer-events:none;background:#ffffffa6;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.loading-overlay p{margin-top:var(--space-2);font-size:var(--fs-sm);color:var(--color-text)}.progress-bar{background:var(--color-border-light);border-radius:3px;width:200px;height:6px;position:relative;overflow:hidden}.progress-bar-inner{background:linear-gradient(90deg, var(--color-accent-blue), var(--color-accent-blue-light));border-radius:3px;width:40%;height:100%;animation:1.2s ease-in-out infinite progress-indeterminate;position:absolute;top:0;left:0}@keyframes progress-indeterminate{0%{left:-40%}to{left:100%}}.main-layout{gap:var(--space-3);margin-top:var(--space-2);flex:1;min-height:0;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.wells-sidebar{background:var(--color-bg-muted);border-radius:var(--radius-md);width:100%;height:100%;padding:var(--space-3);box-sizing:border-box;flex-direction:column;display:flex}.wells-sidebar-header{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.wells-sidebar-title{font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--color-brand-navy)}.shared-count{background:var(--color-info-light);color:var(--color-info);border-radius:var(--radius-full);font-size:10px;font-weight:var(--fw-regular);margin-left:6px;padding:1px 6px;display:inline-block}.wells-sidebar-refresh{padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-md);color:var(--color-text-muted);background:#fff}.wells-sidebar-search{width:100%;padding:5px var(--space-2);margin-bottom:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--fs-sm);box-sizing:border-box}.wells-sidebar-filter{font-size:var(--fs-xs);color:var(--color-text-muted);margin-bottom:var(--space-2);cursor:pointer;align-items:center;gap:6px;display:flex}.wells-sidebar-list{flex:1;min-height:100px;overflow-y:auto}.wells-sidebar-empty{padding:var(--space-5) var(--space-3);text-align:center;font-size:var(--fs-sm);color:var(--color-text-subtle)}.well-item{align-items:center;gap:var(--space-2);padding:6px var(--space-2);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);margin-bottom:3px;display:flex;position:relative}.well-item:hover{background:var(--color-bg-hover)}.well-item.active{background:var(--color-accent-blue);color:#fff}.well-item.active .well-item-meta{color:#e0eeff}.well-item.shared{border-left:3px solid var(--color-info)}.well-item-icon{font-size:var(--fs-md);flex-shrink:0}.well-item-content{flex:1;min-width:0}.well-item-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.well-item-meta{color:var(--color-text-subtle);margin-top:1px;font-size:10px}.well-item-delete{opacity:0;color:var(--color-danger);font-size:var(--fs-lg);cursor:pointer;transition:opacity var(--transition-base);background:0 0;border:none;padding:0 6px;line-height:1}.well-item:hover .well-item-delete{opacity:1}.well-item.active .well-item-delete{color:#ffcdd2}.shared-badge{padding:2px var(--space-3);background:var(--color-info-light);color:var(--color-info);border-radius:var(--radius-full);font-size:var(--fs-xs);font-weight:var(--fw-medium);display:inline-block}.welcome-screen{padding:60px var(--space-5);text-align:center;color:var(--color-text)}.welcome-logo{width:120px;height:120px;margin:0 auto var(--space-4);border:1px solid var(--color-border-light);background:#fff;border-radius:24px;justify-content:center;align-items:center;display:inline-flex;box-shadow:0 4px 20px #0000000f}.welcome-screen h2{color:var(--color-brand-navy);margin-bottom:var(--space-3)}.welcome-screen p{color:var(--color-text-muted);font-size:var(--fs-base)}.user-menu{margin-left:auto;position:relative}.user-menu-trigger{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;font-size:var(--fs-sm);background:#fff;display:flex}.user-menu-trigger:hover{background:var(--color-bg-subtle)}.user-avatar{background:var(--color-accent-blue);color:#fff;width:26px;height:26px;font-weight:var(--fw-bold);font-size:var(--fs-xs);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.user-name{color:var(--color-brand-navy);font-weight:var(--fw-medium)}.user-caret{color:var(--color-text-muted);font-size:10px}.user-menu-dropdown{border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:220px;z-index:var(--z-dropdown);background:#fff;margin-top:6px;position:absolute;top:100%;right:0;overflow:hidden}.user-info{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-subtle)}.user-info-name{font-weight:var(--fw-bold);color:var(--color-brand-navy);font-size:var(--fs-base)}.user-info-email{font-size:var(--fs-sm);color:var(--color-text-muted);margin-top:2px}.user-info-role{margin-top:var(--space-1)}.user-menu-item{width:100%;padding:var(--space-2) var(--space-4);text-align:left;cursor:pointer;font-size:var(--fs-sm);color:var(--color-text);box-sizing:border-box;background:0 0;border:none;text-decoration:none;display:block}.user-menu-item:hover{background:var(--color-bg-subtle)}.user-menu-logout{border-top:1px solid var(--color-border-subtle);color:var(--color-danger)}.auth-page{min-height:100vh;padding:var(--space-5);background:radial-gradient(circle at 20% 20%, #1a3d5c0f, transparent 45%), radial-gradient(circle at 80% 80%, #c628280d, transparent 45%), var(--color-bg-muted);justify-content:center;align-items:center;display:flex}.auth-layout{border-radius:var(--radius-lg);background:#fff;width:100%;max-width:980px;min-height:560px;display:flex;overflow:hidden;box-shadow:0 8px 40px #0000001f}.auth-layout--narrow{max-width:480px;min-height:auto}.auth-banner{padding:var(--space-6) var(--space-5);color:#fff;background:linear-gradient(160deg,#1a3d5c 0%,#224c72 45%,#8b2520 100%);flex-direction:column;flex:0 0 44%;justify-content:space-between;display:flex;position:relative;overflow:hidden}.auth-banner:before{content:"";pointer-events:none;background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0}.auth-banner-content{z-index:1;gap:var(--space-4);flex-direction:column;display:flex;position:relative}.auth-banner-logo{background:#fff;border-radius:22px;justify-content:center;align-items:center;width:96px;height:96px;display:inline-flex;box-shadow:0 4px 16px #00000026}.auth-banner-title{font-family:var(--font-sans);letter-spacing:-.8px;margin:0;font-size:34px;font-weight:700;line-height:1}.auth-banner-title-petro{color:#fff}.auth-banner-title-viz{color:#ffd54f}.auth-banner-slogan{font-size:var(--fs-base);color:#ffffffd9;max-width:340px;margin:0;line-height:1.5}.auth-banner-divider{background:#fff3;width:60px;height:1px}.auth-banner-features{gap:var(--space-2);font-size:var(--fs-sm);color:#ffffffbf;flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.auth-banner-features li{align-items:flex-start;gap:var(--space-2);display:flex}.auth-banner-features li:before{content:"";background:#ffd54f;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:7px;display:inline-block}.auth-method-chips{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.auth-method-chips span{font-family:var(--font-mono);color:#ffd54f;letter-spacing:.3px;background:#ffd54f26;border:1px solid #ffd54f59;border-radius:4px;padding:1px 8px;font-size:11px;font-weight:700;line-height:1.5;display:inline-block}.auth-banner-footer{z-index:1;font-size:var(--fs-xs);color:#ffffff8c;letter-spacing:.3px;position:relative}.auth-form-side{padding:var(--space-6) var(--space-6);flex:1;justify-content:center;align-items:center;min-width:0;display:flex}.auth-form{gap:var(--space-3);flex-direction:column;width:100%;max-width:360px;display:flex}.auth-form-header{margin-bottom:var(--space-2)}.auth-form-title{margin:0 0 var(--space-1) 0;font-size:22px;font-weight:var(--fw-bold);color:var(--color-brand-navy);letter-spacing:-.3px}.auth-form-subtitle{font-size:var(--fs-sm);color:var(--color-text-muted);margin:0;line-height:1.4}.auth-field{gap:var(--space-1);flex-direction:column;display:flex}.auth-required{color:var(--color-danger);font-weight:var(--fw-bold)}.auth-label-hint{margin-left:var(--space-2);color:var(--color-text-subtle);font-size:var(--fs-xs);font-weight:var(--fw-regular);text-transform:none;letter-spacing:0}.auth-hint{margin:var(--space-3) 0 0;text-align:center;font-size:var(--fs-sm);color:var(--color-text-muted)}.auth-hint a{color:var(--color-accent-blue);font-weight:var(--fw-medium);text-decoration:none}.auth-hint a:hover{text-decoration:underline}.auth-success-icon{width:64px;height:64px;margin:0 auto var(--space-3);background:var(--color-success-light);color:var(--color-success);font-size:32px;font-weight:var(--fw-bold);border-radius:50%;justify-content:center;align-items:center;display:flex}@media (width<=720px){.auth-page{padding:var(--space-3)}.auth-layout{flex-direction:column;min-height:auto}.auth-banner{padding:var(--space-5) var(--space-4);gap:var(--space-3);flex:none}.auth-banner-content{gap:var(--space-3)}.auth-banner-logo{border-radius:14px;width:56px;height:56px}.auth-banner-title{font-size:24px}.auth-banner-slogan{font-size:var(--fs-sm)}.auth-banner-features,.auth-banner-footer{display:none}.auth-form-side{padding:var(--space-5) var(--space-4)}}.admin-layout{gap:var(--space-5);margin-top:var(--space-4);display:flex}.admin-sidebar{background:var(--color-bg-muted);border-radius:var(--radius-md);padding:var(--space-3);flex:0 0 200px;height:fit-content}.admin-nav-item{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--fs-base);margin-bottom:var(--space-1);transition:background var(--transition-base);text-decoration:none;display:block}.admin-nav-item:hover{background:var(--color-bg-hover)}.admin-nav-item.active{background:var(--color-accent-blue);color:#fff;font-weight:var(--fw-medium)}.admin-content{flex:1;min-width:0}.admin-toolbar{gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.admin-toolbar .input{flex:1}.table tbody tr.inactive-row{opacity:.5}.table tbody tr.selected-row td{background:var(--color-info-light)}.table .badge-you{margin-left:var(--space-1)}.bulk-actions{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-3);background:var(--color-info-light);border-left:4px solid var(--color-accent-blue);border-radius:var(--radius-sm);font-size:var(--fs-sm);display:flex}.bulk-actions strong{color:var(--color-brand-navy)}.access-list{margin:var(--space-2) 0 var(--space-4);padding:0;list-style:none}.access-list li{border-bottom:1px solid var(--color-border-subtle);font-size:var(--fs-sm);justify-content:space-between;align-items:center;padding:6px 0;display:flex}.share-form{gap:var(--space-2);margin-top:var(--space-2);display:flex}.share-form .select{flex:1}.bulk-result{padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--fs-base);background:#f0f7ff}.bulk-result p{margin:var(--space-2) 0}.admin-content h2{font-size:var(--fs-lg);font-weight:var(--fw-bold);color:var(--color-brand-navy);margin:0 0 var(--space-4) 0;padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light)}.computations-panel{background:var(--color-bg-subtle);border-left:1px solid var(--color-border-light);width:100%;height:100%;padding:var(--space-4);gap:var(--space-3);box-sizing:border-box;flex-direction:column;display:flex}.computations-panel__header{padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border-light);justify-content:space-between;align-items:center;display:flex}.computations-panel__header h3{font-size:var(--fs-lg);color:var(--color-brand-navy);margin:0}.computations-panel__section{padding-top:var(--space-3);border-top:1px solid var(--color-border-light)}.computations-panel__section-title{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin-bottom:var(--space-2)}.computations-panel__section-title:hover{color:var(--color-accent-blue)}.computations-panel__status{margin-top:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border-light);min-height:24px}.computations-panel__warnings{gap:var(--space-1);flex-direction:column;display:flex}.method-selector .select{width:100%}.param-slider{margin-bottom:var(--space-3)}.param-slider__header{justify-content:space-between;align-items:baseline;margin-bottom:2px;display:flex}.param-slider__label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text);cursor:help}.param-slider__value{font-size:var(--fs-xs);color:var(--color-accent-blue);font-weight:var(--fw-semibold)}.param-slider__range{width:100%;height:4px;accent-color:var(--color-accent-blue);cursor:pointer}.curve-mapping-row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.curve-mapping-row__label{font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:var(--fw-bold);color:var(--color-brand-navy);flex:0 0 50px}.curve-mapping-row__select{flex:1;min-width:0}.resizable-sidebar{flex-direction:column;flex-grow:0;flex-shrink:0;height:100%;display:flex;position:relative}.resizable-sidebar__content{flex:1;min-width:0;min-height:0;overflow:hidden auto}.resizable-sidebar__handle{cursor:col-resize;z-index:20;background:0 0;width:6px;transition:background .15s;position:absolute;top:0;bottom:0}.resizable-sidebar__handle--left{right:-3px}.resizable-sidebar__handle--right{left:-3px}.resizable-sidebar__handle:hover,.resizable-sidebar__handle--dragging{background:var(--color-accent-blue);opacity:.5}.resizable-sidebar__toggle--inside{box-sizing:border-box;border:1px solid var(--color-border);cursor:pointer;z-index:25;width:26px;min-width:26px;max-width:26px;height:26px;min-height:26px;max-height:26px;color:var(--color-text-muted);opacity:.75;background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;line-height:1;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #00000026}.resizable-sidebar__toggle--inside:hover{opacity:1;background:var(--color-accent-blue);border-color:var(--color-accent-blue);color:#fff;transform:translateY(-50%)scale(1.12);box-shadow:0 3px 12px #2c528266}.resizable-sidebar--left .resizable-sidebar__toggle--inside{right:-13px}.resizable-sidebar--right .resizable-sidebar__toggle--inside{left:-13px}.resizable-sidebar__arrow-big{font-size:11px;font-weight:700;line-height:1;display:inline-block}.resizable-sidebar--collapsed{background:var(--color-bg-muted);border-radius:var(--radius-md);border:1px solid var(--color-border-light);cursor:pointer;flex-direction:column;align-items:stretch;transition:background .15s,border-color .15s;display:flex}.resizable-sidebar--collapsed:hover{background:var(--color-bg-hover);border-color:var(--color-accent-blue)}.resizable-sidebar__toggle{cursor:pointer;width:100%;height:100%;color:var(--color-text-muted);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:8px 0;transition:color .15s;display:flex}.resizable-sidebar__toggle:hover{color:var(--color-accent-blue)}.resizable-sidebar__toggle:hover .resizable-sidebar__arrow-big{transform:scale(1.3)}.resizable-sidebar__icon{color:var(--color-text-muted);opacity:.85;justify-content:center;align-items:center;transition:color .15s,opacity .15s;display:inline-flex}.resizable-sidebar--collapsed:hover .resizable-sidebar__icon{color:var(--color-accent-blue);opacity:1}.resizable-sidebar--collapsed .resizable-sidebar__arrow-big{font-size:14px;font-weight:700;transition:transform .15s}.resizable-sidebar--dragging{-webkit-user-select:none;user-select:none}@media (width<=1024px){.resizable-sidebar--left{min-width:180px!important}.resizable-sidebar--right{min-width:260px!important}}.view-control{font-size:var(--fs-sm);color:var(--color-text-muted);align-items:center;gap:6px;display:inline-flex}.view-control__label{font-size:var(--fs-xs);color:var(--color-text-subtle)}.view-control__select{font-size:var(--fs-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;background:#fff;padding:4px 6px;font-family:inherit}.view-control__select:focus{border-color:var(--color-accent-blue);outline:none}.view-control--button{border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);background:#fff;padding:4px 8px;font-family:inherit}.view-control--button:hover{background:var(--color-bg-hover)}.view-control--button.view-control--active{border-color:var(--color-accent-blue);background:var(--color-info-light)}.view-control__value{font-family:var(--font-mono);color:var(--color-text);font-weight:600;font-size:var(--fs-xs)}.depth-range-picker{position:relative}.depth-range-popover{z-index:var(--z-dropdown);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--space-3);background:#fff;min-width:240px;margin-top:6px;position:absolute;top:100%;right:0}.depth-range-popover__row{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);display:flex}.depth-range-popover__row label{font-size:var(--fs-sm);color:var(--color-text-muted);flex:0 0 90px}.depth-range-popover__row input{min-width:0;font-size:var(--fs-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);flex:1;padding:4px 6px}.depth-range-popover__row input:focus{border-color:var(--color-accent-blue);outline:none}.depth-range-popover__actions{justify-content:space-between;gap:var(--space-2);margin-top:var(--space-3);display:flex}@keyframes fadeInOut{0%{opacity:0;transform:translate(-4px)}10%{opacity:1;transform:translate(0)}85%{opacity:1}to{opacity:0}}.export-menu{display:inline-block;position:relative}.export-menu__dropdown{border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:260px;box-shadow:var(--shadow-md);z-index:var(--z-dropdown);background:#fff;flex-direction:column;gap:2px;margin-top:6px;padding:4px;display:flex;position:absolute;top:100%;right:0}.export-menu__item{border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--color-text);background:0 0;border:none;align-items:center;gap:10px;padding:8px 10px;font-family:inherit;font-size:13px;transition:background .15s;display:flex}.export-menu__item:hover{background:var(--color-bg-hover)}.export-menu__ext{font-family:var(--font-mono);color:var(--color-accent-blue);background:var(--color-info-light);border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:700}.export-menu__label{color:var(--color-text-muted);flex:1;font-size:12px}@font-face{font-family:Geist Sans;src:url(/fonts/Geist-Variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/GeistMono-Variable.woff2)format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}:root{--color-brand-navy:#1a3d5c;--color-brand-red:#c62828;--color-brand-red-dark:#b71c1c;--color-brand-yellow:#ffd54f;--color-accent-blue:#2c5282;--color-accent-blue-dark:#25466e;--color-accent-blue-light:#4a7ba6;--color-success:#2e7d32;--color-success-light:#e8f5e9;--color-warning:#f9a825;--color-warning-light:#fff8e1;--color-danger:#c62828;--color-danger-light:#ffebee;--color-info:#2c5282;--color-info-light:#eaf0f6;--color-curve-gr:#2e7d32;--color-curve-rhob:#c62828;--color-curve-nphi:#1565c0;--color-curve-dtc:#6a1b9a;--color-curve-res:#000;--color-curve-sp:#6d4c41;--color-curve-k:#ec407a;--color-curve-th:#9e9e9e;--color-curve-u:#00e676;--color-bg:#fff;--color-bg-muted:#f5f8fa;--color-bg-subtle:#fafbfc;--color-bg-hover:#e8eef5;--color-border:#d0d7de;--color-border-light:#e8ecef;--color-border-subtle:#f0f0f0;--color-text:#222;--color-text-muted:#666;--color-text-subtle:#999;--font-sans:"Geist Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"Geist Mono", "Consolas", "Monaco", monospace;--fs-xs:11px;--fs-sm:12px;--fs-base:14px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.2;--lh-base:1.5;--lh-loose:1.7;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 40px #00000026;--transition-fast:.12s ease;--transition-base:.15s ease;--transition-slow:.25s ease;--z-dropdown:100;--z-modal:1000;--z-toast:2000}*,:before,:after{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}body{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-regular);line-height:var(--lh-base);color:var(--color-text);background-color:var(--color-bg);margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-bold);line-height:var(--lh-tight);color:var(--color-brand-navy);margin:0}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4{font-size:var(--fs-md)}h5,h6{font-size:var(--fs-base)}p{margin:0 0 var(--space-3) 0}a{color:var(--color-accent-blue);transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--color-accent-blue-dark);text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}button{cursor:pointer}code,pre,kbd,samp{font-family:var(--font-mono);font-size:.95em}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-subtle)}:focus-visible{outline:2px solid var(--color-accent-blue);outline-offset:2px}button:focus:not(:focus-visible){outline:none}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-medium);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-base), border-color var(--transition-base), color var(--transition-base);white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled,.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--color-accent-blue);color:#fff;border-color:var(--color-accent-blue)}.btn--primary:hover:not(:disabled){background:var(--color-accent-blue-dark);border-color:var(--color-accent-blue-dark)}.btn--secondary{color:var(--color-text);border-color:var(--color-border);background:#fff}.btn--secondary:hover:not(:disabled){background:var(--color-bg-hover)}.btn--danger{color:var(--color-danger);border-color:var(--color-danger);background:#fff}.btn--danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.btn--ghost{color:var(--color-accent-blue);background:0 0;border-color:#0000}.btn--ghost:hover:not(:disabled){background:var(--color-bg-hover)}.btn--sm{padding:var(--space-1) var(--space-3);font-size:var(--fs-sm)}.btn--lg{padding:var(--space-3) var(--space-5);font-size:var(--fs-md)}.btn--block{width:100%}.input,.select,.textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--fs-base);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:border-color var(--transition-base), box-shadow var(--transition-base);background:#fff;display:block}.input:focus,.select:focus,.textarea:focus{border-color:var(--color-accent-blue);outline:none;box-shadow:0 0 0 3px #2c52822e}.input:disabled,.select:disabled,.textarea:disabled{background:var(--color-bg-muted);cursor:not-allowed;opacity:.6}.input--error,.select--error{border-color:var(--color-danger)}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%23666' d='M6 9L2 4h8z'/></svg>");background-position:right 10px center;background-repeat:no-repeat;padding-right:30px}.label{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--color-text);margin-bottom:var(--space-1);display:block}.card{border:1px solid var(--color-border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.card__header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-light);font-weight:var(--fw-semibold);color:var(--color-brand-navy);font-size:var(--fs-md)}.card__body{padding:var(--space-4)}.card__footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-light);background:var(--color-bg-subtle)}.table{border-collapse:collapse;width:100%;font-size:var(--fs-sm);background:#fff}.table thead{background:var(--color-bg-muted)}.table th{text-align:left;padding:var(--space-2) var(--space-3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-light);white-space:nowrap}.table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle;line-height:1.3}.table tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--color-bg-subtle)}.table--compact th,.table--compact td{padding:var(--space-1) var(--space-2)}.table--striped tbody tr:nth-child(2n){background:var(--color-bg-subtle)}.table-wrapper{border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:#fff;max-height:70vh;overflow-y:auto}.badge{align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--fs-xs);font-weight:var(--fw-medium);border-radius:var(--radius-full);white-space:nowrap;line-height:1.4;display:inline-flex}.badge--default{background:var(--color-bg-muted);color:var(--color-text-muted)}.badge--success{background:var(--color-success-light);color:var(--color-success)}.badge--warning{background:var(--color-warning-light);color:var(--color-warning)}.badge--danger{background:var(--color-danger-light);color:var(--color-danger)}.badge--info,.badge--shared{background:var(--color-info-light);color:var(--color-info)}.badge--admin{background:var(--color-brand-navy);color:#fff}.banner{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--fs-sm);margin-bottom:var(--space-2);border-left:4px solid}.banner--error{background:var(--color-danger-light);border-color:var(--color-danger);color:var(--color-danger)}.banner--success{background:var(--color-success-light);border-color:var(--color-success);color:var(--color-success)}.banner--warning{background:var(--color-warning-light);border-color:var(--color-warning);color:var(--color-warning)}.banner--info{background:var(--color-info-light);border-color:var(--color-info);color:var(--color-info)}.modal-overlay{z-index:var(--z-modal);padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);background:#fff;width:100%;min-width:400px;max-width:600px;max-height:85vh;overflow-y:auto}.modal__header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border-light);font-size:var(--fs-lg);font-weight:var(--fw-semibold);color:var(--color-brand-navy)}.modal__body{padding:var(--space-5)}.modal__footer{padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border-light);justify-content:flex-end;gap:var(--space-2);display:flex}.font-mono{font-family:var(--font-mono)}.text-muted{color:var(--color-text-muted)}.text-subtle{color:var(--color-text-subtle)}.text-navy{color:var(--color-brand-navy)}.text-red{color:var(--color-brand-red)}.text-xs{font-size:var(--fs-xs)}.text-sm{font-size:var(--fs-sm)}.text-base{font-size:var(--fs-base)}.text-lg{font-size:var(--fs-lg)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.spinner{border:2px solid var(--color-border);border-top-color:var(--color-accent-blue);border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.spinner--lg{border-width:3px;width:32px;height:32px}.loading-screen{justify-content:center;align-items:center;gap:var(--space-3);min-height:60vh;color:var(--color-text-muted);flex-direction:column;display:flex}input[type=checkbox],input[type=radio]{accent-color:var(--color-accent-blue);cursor:pointer;vertical-align:middle;width:14px;height:14px;margin:0}input[type=checkbox]:disabled,input[type=radio]:disabled{cursor:not-allowed;opacity:.5}input[type=range]{accent-color:var(--color-accent-blue);cursor:pointer}
