.language-switcher{display:flex;gap:.35rem;align-items:center}.language-button{border:1px solid rgba(15,23,42,.15);border-radius:999px;width:2.4rem;height:2.4rem;display:flex;align-items:center;justify-content:center;font-size:1rem;background:#0f172a05;color:inherit;box-shadow:none;transition:border .2s ease,transform .2s ease}.language-button:hover{transform:translateY(-1px);border-color:#1e7c5a66}.language-button.active{border-color:#1e7c5acc;background:#1e7c5a1f}@media(max-width:768px){.language-button{width:2rem;height:2rem;font-size:.9rem}}.layout{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:20;background:#ffffffd9;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid rgba(15,23,42,.08);box-shadow:0 10px 30px #0f172a1a}.app-header__inner{width:min(100%,var(--container-max));margin:0 auto;padding:.85rem clamp(1rem,3vw,2.5rem);display:flex;align-items:center;gap:var(--space-4)}.brand{display:flex;align-items:center;gap:var(--space-3);flex:1;min-width:0}.brand-mark{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;font-size:1.5rem;background:linear-gradient(140deg,#1e7c5a26,#f2a34166);border:1px solid rgba(30,124,90,.25);box-shadow:inset 0 1px #ffffffb3}.brand-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.2em;color:var(--color-text-muted);margin-bottom:.15rem}.logo{font-size:1.4rem;font-weight:700;color:var(--color-text);margin:0}.primary-nav{display:flex;gap:var(--space-2)}.nav-link{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;padding:.55rem 1rem;border-radius:999px;font-weight:600;font-size:.95rem;color:var(--color-text-muted);border:1px solid transparent;transition:color .2s ease,background .2s ease,border .2s ease}.nav-link:hover{background:#0f172a0f;color:var(--color-text)}.nav-link.active{color:var(--color-brand-strong);background:#1e7c5a1f;border-color:#1e7c5a33;box-shadow:inset 0 1px #ffffff4d}.nav-icon{font-size:1rem}.desktop-nav{flex:2;display:flex;justify-content:flex-end}.header-actions{display:flex;align-items:center;gap:var(--space-2)}.nav-toggle{display:none;font-size:1.25rem;padding:.35rem .75rem;border-radius:var(--radius-sm);background:#0f172a0f;color:var(--color-text);box-shadow:none}.main{flex:1;width:100%}.footer{margin-top:auto;border-top:1px solid rgba(15,23,42,.08);background:#0f172a05}.footer-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);align-items:center}.version,.footer-note{font-size:.9rem;color:var(--color-text-muted);margin:0}.mobile-nav{position:fixed;top:0;left:0;right:0;transform:translateY(-105%);transition:transform .3s ease;background:var(--color-surface);padding:calc(var(--space-3) + 50px) var(--space-3) var(--space-3);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-lg);z-index:40}.mobile-nav.open{transform:translateY(0)}.mobile-nav__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);font-weight:600;color:var(--color-text)}.mobile-nav__links .primary-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-2)}.mobile-nav__links .nav-link{border-radius:var(--radius-sm);padding:.85rem 1rem;font-size:1.05rem;justify-content:center}.mobile-nav__footer{margin-top:var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-2);color:var(--color-text-muted);font-size:.9rem}.nav-backdrop{position:fixed;inset:0;background:#0f172a66;z-index:30}@media(max-height:560px){.mobile-nav{padding:calc(var(--space-2) + 42px) var(--space-2) var(--space-2);border-radius:0 0 var(--radius-md) var(--radius-md)}.mobile-nav__links .primary-nav{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-1)}.mobile-nav__links .nav-link{padding:.6rem .8rem;font-size:.92rem}.mobile-nav__header,.mobile-nav__footer{flex-direction:column;gap:var(--space-1);align-items:flex-start}}@media(max-width:1024px){.desktop-nav{display:none}.nav-toggle{display:inline-flex}.header-actions .language-switcher{display:none}}@media(min-width:1025px){.mobile-nav,.nav-backdrop{display:none}}.quick-form{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-sm)}.quick-form h2{margin-bottom:var(--space-3);font-size:1.4rem}.form-group{margin-bottom:var(--space-3)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.radio-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.radio-label{border:1px solid rgba(15,23,42,.15);border-radius:999px;padding:.35rem .9rem;display:flex;align-items:center;gap:.4rem;cursor:pointer;background:#0f172a05}.radio-label input[type=radio]{accent-color:var(--color-brand)}.form-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-4)}.form-actions button{flex:1;min-width:180px}.error-message{background:#fef2f2;border:1px solid #fecaca;color:var(--color-danger);padding:var(--space-2);border-radius:var(--radius-sm)}.empty-state{color:var(--color-text-muted);text-align:center;padding:var(--space-3)}@media(max-width:768px){.form-actions{flex-direction:column}}.dashboard-page{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-4);align-items:flex-end}.dashboard-toolbar.surface{padding:var(--space-4)}.toolbar-group{display:flex;flex-direction:column;gap:var(--space-2);min-width:200px}.toolbar-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.select-wrapper select{min-width:240px}.hive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-3)}.apiary-section{margin-top:var(--space-5)}.apiary-section-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-3)}.apiary-section-title{font-size:1.35rem;font-weight:600;margin:0;color:var(--color-text)}.hive-card-link{text-decoration:none;color:inherit}.hive-card{display:flex;border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.08);background:linear-gradient(135deg,#fffffff2,#f7faffe6);box-shadow:var(--shadow-sm);min-height:220px;transition:transform .2s ease,box-shadow .2s ease}.hive-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.hive-status-bar{width:6px;border-radius:var(--radius-xs) 0 0 var(--radius-xs);background:#0f172a1a}.hive-card.good .hive-status-bar{background:linear-gradient(180deg,#1f8a53,#6ee7b7)}.hive-card.warning .hive-status-bar{background:linear-gradient(180deg,#d97706,#fcd34d)}.hive-card.danger .hive-status-bar{background:linear-gradient(180deg,#f97316,#fecaca)}.hive-card.critical .hive-status-bar{background:linear-gradient(180deg,#b42318,#fecaca)}.hive-card.no-data .hive-status-bar{background:#0f172a26}.hive-card-content{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.hive-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-2)}.hive-card-header h3{font-size:1.25rem;margin:0}.trend{font-size:1.3rem;font-weight:700}.hive-stats{display:flex;flex-direction:column;gap:var(--space-3)}.hive-main-stat{display:flex;align-items:baseline;gap:.4rem}.hive-mites-value{font-size:2.35rem;font-weight:700}.hive-unit{font-size:.95rem;color:var(--color-text-muted)}.hive-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);font-size:.9rem;color:var(--color-text-muted);border-top:1px dashed rgba(15,23,42,.1);padding-top:var(--space-2)}.hive-yearly{border-top:1px solid rgba(15,23,42,.08);padding-top:var(--space-3)}.hive-yearly-label{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);display:flex;align-items:center;gap:.35rem}.hive-yearly-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:var(--space-2);margin-top:var(--space-2)}.hive-yearly-stat{padding:.5rem;border-radius:var(--radius-xs);background:#0f172a08;text-align:center}.hive-yearly-value{font-size:1.2rem;font-weight:700}.hive-yearly-unit{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase}.no-data{color:var(--color-text-muted);font-style:italic}.empty-dashboard{margin-top:var(--space-5)}.apiary-section-header button{white-space:nowrap}.modal-overlay{position:fixed;inset:0;background:#0f172a99;display:flex;align-items:center;justify-content:center;padding:var(--space-3);z-index:100}.modal-content{width:min(1100px,100%);max-height:90vh;background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column}.modal-header{padding:var(--space-4);border-bottom:1px solid rgba(15,23,42,.08);display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.modal-body{padding:var(--space-4);overflow-y:auto}.close-button{font-size:1.2rem;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;box-shadow:none;padding:.25rem}.combined-chart-container{height:550px;position:relative}.loading{text-align:center;padding:var(--space-5);color:var(--color-text-muted)}@media(max-width:768px){.dashboard-toolbar{flex-direction:column}.toolbar-group{width:100%}.hive-grid{grid-template-columns:1fr}.apiary-section-header{flex-direction:column;align-items:flex-start}.apiary-section-header button{width:100%}.modal-overlay{padding:0}.modal-content{min-height:100vh;border-radius:0}}.apiary-form{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.apiary-form h2{margin-top:0;margin-bottom:var(--space-3)}.apiaries-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-3)}.apiary-card{border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(15,23,42,.08);background:linear-gradient(150deg,#1e7c5a0d,#f2a3410d);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3)}.apiaries-grid.archived .apiary-card{opacity:.65}.apiary-card-header h3{margin:0}.apiary-location{color:var(--color-text-muted);font-size:.9rem}.hive-count{font-size:.85rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted)}.apiary-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.apiary-actions button{flex:1;min-width:120px}.archived-title{margin-top:var(--space-5);color:var(--color-text-muted)}@media(max-width:768px){.apiary-actions{flex-direction:column}}.breadcrumb{color:var(--color-text-muted);font-size:.9rem;margin-top:.5rem}.breadcrumb a{color:var(--color-brand);text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.apiary-section{margin-bottom:var(--space-5)}.apiary-section-title{font-size:1.3rem;font-weight:600;margin-bottom:var(--space-2);display:flex;align-items:baseline;gap:.5rem}.apiary-location-small{color:var(--color-text-muted);font-size:.95rem}.hive-form{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.hives-list{display:flex;flex-direction:column;gap:var(--space-3)}.hive-item{display:flex;justify-content:space-between;gap:var(--space-2);flex-wrap:wrap;border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(15,23,42,.08);background:linear-gradient(120deg,#fffffff2,#ecfdf5cc);box-shadow:var(--shadow-sm)}.hives-list.archived .hive-item{opacity:.6}.hive-info{display:flex;gap:var(--space-3);text-decoration:none;color:inherit;flex:1;align-items:center}.hive-thumbnail{width:72px;height:72px;border-radius:var(--radius-sm);object-fit:cover;border:2px solid rgba(15,23,42,.08)}.hive-info h3{margin:0}.hive-info h3:hover{color:var(--color-brand)}.hive-location{color:var(--color-text-muted);font-size:.9rem}.hive-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.hive-actions button{flex:1;min-width:120px}.archived-title{color:var(--color-text-muted)}.empty-state{margin-top:var(--space-4)}.image-preview img{border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.08)}.remove-image-btn{margin-top:var(--space-2);border-radius:var(--radius-sm);border:none;box-shadow:none}.upload-status,.help-text{color:var(--color-text-muted);font-size:.85rem}@media(max-width:768px){.hive-info{flex-direction:column;align-items:flex-start}.hive-actions{flex-direction:column}.hive-actions button{width:100%}}.detail-header{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4);align-items:flex-start}.detail-header button{align-self:center}.back-link{display:inline-flex;align-items:center;gap:.3rem;font-size:.9rem;text-decoration:none;color:var(--color-text-muted)}.back-link:hover{color:var(--color-brand-strong)}.detail-header h1{margin:.25rem 0;font-size:clamp(1.8rem,3vw,2.4rem)}.location{color:var(--color-text-muted);font-size:1rem}.hive-detail-image{width:160px;height:160px;border-radius:var(--radius-md);object-fit:cover;border:2px solid rgba(15,23,42,.1);box-shadow:var(--shadow-sm);transition:transform .2s ease}.hive-detail-image:hover{transform:scale(1.03)}.image-modal{position:fixed;inset:0;background:#0f172ad9;display:flex;align-items:center;justify-content:center;z-index:100;padding:var(--space-4)}.image-modal-content{position:relative;max-width:90vw;max-height:90vh}.image-modal-content img{width:100%;height:100%;object-fit:contain;border-radius:var(--radius-md);box-shadow:var(--shadow-lg)}.image-modal-close{position:absolute;top:-40px;right:0;border:none;background:transparent;color:#fff;font-size:2rem;cursor:pointer}.chart-container,.yearly-summary-section,.observations-section,.empty-chart{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(15,23,42,.06);box-shadow:var(--shadow-sm);margin-bottom:var(--space-4)}.chart-container{height:420px}.yearly-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-3)}.yearly-summary-card{padding:var(--space-3);border-radius:var(--radius-md);border:1px solid rgba(30,124,90,.2);background:linear-gradient(135deg,#1e7c5a14,#f2a34114)}.yearly-summary-year{font-size:.85rem;text-transform:uppercase;letter-spacing:.15em;color:var(--color-text-muted);margin-bottom:.5rem}.yearly-summary-value{font-size:2rem;font-weight:700;margin-bottom:var(--space-2)}.yearly-summary-details{display:flex;flex-direction:column;gap:.35rem;font-size:.95rem}.yearly-summary-detail{display:flex;justify-content:space-between;color:var(--color-text)}.empty-chart{text-align:center}.observations-section h2{margin-top:0}.observations-table{margin-top:var(--space-3)}.observations-table,.treatments-table{margin-bottom:var(--space-2)}.observations-table.table,.treatments-table.table{width:100%}.mites-value{font-weight:700}.notes-cell{max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.showing-info{text-align:center;color:var(--color-text-muted);margin-top:var(--space-2)}.image-modal button,.image-modal-close{box-shadow:none}@media(max-width:768px){.detail-header{flex-direction:column}.hive-detail-image{width:100%;height:240px}.chart-container{height:320px}}.export-html-modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.export-html-modal{background:#fff;border-radius:12px;max-width:500px;width:90%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{font-size:1.5rem;color:#1f2937;margin:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background-color .2s,color .2s}.modal-close:hover{background-color:#f3f4f6;color:#1f2937}.modal-content{flex:1;overflow-y:auto;padding:1.5rem}.modal-description{color:#6b7280;margin-bottom:1.5rem;font-size:.95rem}.form-group{margin-bottom:1.5rem}.form-group h3{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 1rem}.apiary-selection{margin-bottom:.75rem}.apiary-selection label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#374151}.apiary-selection input[type=checkbox]{margin-right:.75rem;cursor:pointer;width:18px;height:18px;accent-color:#f59e0b}.apiary-selection input[type=checkbox]:disabled{opacity:.5;cursor:not-allowed}.no-apiaries-message{color:#ef4444;font-size:.9rem;margin-top:1rem;padding:.75rem;background-color:#fee2e2;border-radius:6px;text-align:center}.apiary-info{margin:1rem 0}.info-box{background-color:#f3f4f6;border-radius:8px;padding:1rem;display:grid;grid-template-columns:1fr 1fr;gap:1rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-label{font-size:.85rem;color:#6b7280;font-weight:500}.info-value{font-size:1.5rem;font-weight:700;color:#1f2937}.alert{padding:.75rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.alert-error{background-color:#fee2e2;color:#dc2626;border:1px solid #fca5a5}.alert-success{background-color:#dcfce7;color:#16a34a;border:1px solid #86efac}.features-info{background-color:#f9fafb;border-radius:8px;padding:1rem;margin-top:1rem}.features-info h4{margin:0 0 .75rem;font-size:.9rem;color:#1f2937}.features-info ul{margin:0;padding-left:1.5rem;font-size:.85rem}.features-info li{color:#374151;margin-bottom:.5rem}.modal-footer{display:flex;gap:.75rem;padding:1.5rem;border-top:1px solid #e5e7eb;background-color:#f9fafb}.btn{flex:1;padding:.75rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s;font-size:.95rem}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#f59e0b;color:#fff}.btn-primary:hover:not(:disabled){background-color:#d97706}.btn-secondary{background-color:#e5e7eb;color:#1f2937}.btn-secondary:hover:not(:disabled){background-color:#d1d5db}.modal-content::-webkit-scrollbar{width:6px}.modal-content::-webkit-scrollbar-track{background:transparent}.modal-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.modal-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media(max-width:640px){.export-html-modal{width:95%;max-height:95vh}.modal-header,.modal-content{padding:1rem}.modal-footer{padding:1rem;flex-direction:column}.info-box{grid-template-columns:1fr}}.import-export-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.section-card{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-sm)}.section-card h2{margin-bottom:var(--space-2);font-size:1.25rem;font-weight:600}.section-card p{color:var(--color-text-muted);margin-bottom:var(--space-3);line-height:1.5}.button-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.button-group button{flex:1;min-width:140px}.file-input-wrapper{position:relative}.file-input-button{display:inline-block;padding:.75rem 1.2rem;background-color:var(--color-brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;transition:transform .15s ease;border:none;text-align:center;width:100%}.file-input-button:hover{transform:translateY(-1px)}.file-input:disabled+.file-input-button{opacity:.5;cursor:not-allowed}.danger-zone{border:2px dashed rgba(180,35,24,.4);background:#fef2f2e6}.danger-zone h2{color:var(--color-danger)}.success-message{background-color:#0d94881a;color:var(--color-success);padding:var(--space-2);border-radius:var(--radius-sm);margin-bottom:var(--space-2);border:1px solid rgba(13,148,136,.2)}.info-box{background-color:#eff6ffcc;border:1px solid #bfdbfe;border-radius:var(--radius-md);padding:var(--space-4)}.info-box h3{margin-bottom:var(--space-2);font-size:1.125rem;font-weight:600;color:#1e40af}.info-box ul{list-style-position:inside;color:#1e40af;line-height:1.8}.info-box li{margin-bottom:.5rem}@media(max-width:768px){.import-export-section{grid-template-columns:1fr}.button-group{flex-direction:column}.button-group button{width:100%}}.info-card{background:linear-gradient(135deg,#1e7c5a1f,#f2a3411f);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-4);border:1px solid rgba(30,124,90,.2)}.info-card h3{margin-bottom:var(--space-2)}.info-card ul{margin:0;padding-left:1rem;color:var(--color-text);line-height:1.6}.import-steps{display:flex;flex-direction:column;gap:var(--space-3)}.step-card{background:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-4);border:1px solid rgba(15,23,42,.08);box-shadow:var(--shadow-sm);display:flex;gap:var(--space-3)}.step-card.full-width{flex-direction:column}.step-number{width:40px;height:40px;border-radius:999px;background:#1e7c5a1f;color:var(--color-brand-strong);display:grid;place-items:center;font-weight:700;font-size:1.1rem}.step-content label{font-weight:600;margin-bottom:.35rem}.step-content h3{margin-bottom:var(--space-2)}.form-select,.form-input,.hive-select{width:100%}.hint{margin-top:.35rem;font-size:.85rem;color:var(--color-text-muted);font-style:italic}.file-upload-area{position:relative}.file-input{position:absolute;opacity:0;width:0;height:0}.file-upload-button{display:inline-block;padding:.75rem 1rem;background:var(--color-brand);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-weight:600;border:none;width:100%;text-align:center;transition:transform .2s ease}.file-upload-button:hover{transform:translateY(-1px)}.mapping-table-wrapper{margin-top:var(--space-3);border-radius:var(--radius-md)}.mapping-table{width:100%;border-collapse:collapse}.mapping-table tbody tr.mapped{background:#1f8a5314}.mapping-table tbody tr.unmapped{background:#b4231814}.mapping-table td.number{text-align:center;font-weight:600}.mapping-cell{display:flex;align-items:center;gap:.5rem}.auto-match-badge{width:22px;height:22px;border-radius:999px;background:var(--color-success);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem}.import-actions{display:flex;flex-direction:column;gap:var(--space-3);background:#0f172a05;border-radius:var(--radius-md);padding:var(--space-3)}.import-summary{display:flex;gap:var(--space-2);flex-wrap:wrap;justify-content:space-between}.summary-item{flex:1;min-width:120px;text-align:center}.summary-label{font-size:.8rem;color:var(--color-text-muted);letter-spacing:.08em;text-transform:uppercase}.summary-value{font-size:1.4rem;font-weight:700}.summary-value.success{color:var(--color-success)}.summary-value.error{color:var(--color-danger)}.import-button{padding:.9rem 1.2rem;border-radius:var(--radius-md);border:none;background:linear-gradient(135deg,var(--color-brand),#0e5c41);color:#fff;font-weight:600;font-size:1rem;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.import-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-sm)}.import-button:disabled{background:#0f172a33;cursor:not-allowed}.success-message{background:#1f8a5326;border:1px solid rgba(31,138,83,.3);color:var(--color-success);padding:var(--space-2);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}@media(max-width:768px){.step-card,.import-summary{flex-direction:column}}*{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,Segoe UI,Roboto,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;color-scheme:light;--color-page: #f5f3ed;--color-surface: #ffffff;--color-surface-muted: #f0eadd;--color-brand: #1e7c5a;--color-brand-strong: #14563d;--color-accent: #f2a341;--color-accent-strong: #c97a1f;--color-text: #1f2a37;--color-text-muted: #5b6472;--color-border: #d8d5cc;--color-border-strong: #b3ae9d;--color-success: #1f8a53;--color-warning: #d97706;--color-danger: #b42318;--color-info: #0f82c2;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--shadow-sm: 0 4px 16px rgba(15, 23, 42, .08);--shadow-md: 0 12px 30px rgba(15, 23, 42, .12);--shadow-lg: 0 20px 45px rgba(15, 23, 42, .14);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--space-7: 2.5rem;--space-8: 3rem;--container-max: 1320px}body{min-height:100vh;margin:0;font-family:inherit;background:radial-gradient(circle at top,rgba(248,250,252,.8),transparent 55%),linear-gradient(120deg,#f7f4ef,#eff7f2 35%,#edf3ff 90%);color:var(--color-text)}#root{min-height:100vh;display:flex;flex-direction:column}img{max-width:100%;display:block}a{color:inherit}button{border-radius:var(--radius-sm);border:1px solid transparent;padding:.65em 1.3em;font-size:1rem;font-weight:600;font-family:inherit;background-color:var(--color-brand);color:#fff;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;box-shadow:var(--shadow-sm)}button:hover:not(:disabled){transform:translateY(-1px);background-color:var(--color-brand-strong)}button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}button.secondary{background-color:#1e7c5a14;color:var(--color-brand-strong);border-color:#1e7c5a26;box-shadow:none}button.secondary:hover:not(:disabled){background-color:#14563d1f}button.ghost{background:transparent;color:var(--color-text);border-color:transparent;box-shadow:none}button.ghost:hover:not(:disabled){background:#0f172a14}button.pill{border-radius:999px;font-size:.95rem;padding:.4rem 1rem;border:1px solid transparent;box-shadow:none}button.small{font-size:.85rem;padding:.35rem .8rem}button.danger{background-color:var(--color-danger);box-shadow:none}button.danger:hover:not(:disabled){background-color:#921910}input,select,textarea{border-radius:var(--radius-sm);border:1px solid var(--color-border);padding:.65em .85em;font-size:1rem;font-family:inherit;width:100%;background-color:var(--color-surface);transition:border .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--color-brand);box-shadow:0 0 0 3px #1e7c5a26}textarea{resize:vertical}label{display:block;margin-bottom:.35rem;font-weight:600;color:var(--color-text)}.container{width:min(100%,var(--container-max));margin:0 auto;padding:clamp(1rem,3vw,2.5rem)}.page-intro{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin-bottom:var(--space-5);align-items:flex-start}.page-intro h1{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:700;color:var(--color-text)}.page-intro p{color:var(--color-text-muted);max-width:60ch}.page-intro-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.eyebrow{font-size:.85rem;text-transform:uppercase;letter-spacing:.4em;color:var(--color-text-muted);margin-bottom:.5rem}.page-lead{max-width:60ch;color:var(--color-text-muted);font-size:1rem;margin-top:.35rem}.surface,.card{background-color:var(--color-surface);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--shadow-sm);border:1px solid rgba(15,23,42,.05)}.surface.muted{background:var(--color-surface-muted)}.section-gap{display:flex;flex-direction:column;gap:var(--space-5)}.card-grid{display:grid;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-3)}.stat-card{padding:var(--space-3);border-radius:var(--radius-sm);border:1px dashed rgba(31,42,55,.2)}.stat-card .label{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.stat-card .value{font-size:1.75rem;font-weight:700;color:var(--color-brand-strong)}.chip-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.chip{border-radius:999px;padding:.35rem .95rem;font-size:.95rem;background-color:#0f172a0f;border:1px solid transparent;color:var(--color-text);cursor:pointer;transition:background .15s ease,border .15s ease}.chip.is-active{background-color:#1e7c5a26;border-color:#1e7c5a66;color:var(--color-brand-strong)}button.chip{border:1px solid transparent;box-shadow:none;background:#0f172a0d;color:var(--color-text);padding:.4rem 1.1rem;font-weight:600}button.chip:hover{background:#0f172a14}button.chip.is-active{background:#1e7c5a1f;border-color:#1e7c5a59;color:var(--color-brand-strong)}.tag{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .6rem;border-radius:999px;font-size:.8rem;font-weight:600}.tag.success{background:#1f8a5326;color:var(--color-success)}.tag.warning{background:#d9770626;color:var(--color-warning)}.tag.danger{background:#b4231826;color:var(--color-danger)}.alert{border-radius:var(--radius-sm);padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface)}.alert.warning{background:#fff9eb;border-color:#fddfab;color:var(--color-warning)}.alert.info{background:#eff6ff;border-color:#bfdbfe;color:var(--color-info)}.alert.danger{background:#fef2f2;border-color:#fecaca;color:var(--color-danger)}.error-message{background:#fef2f2;border:1px solid #fecaca;color:var(--color-danger);padding:var(--space-2);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.success-message{background:#1f8a531f;border:1px solid rgba(31,138,83,.25);color:var(--color-success);padding:var(--space-2);border-radius:var(--radius-sm);margin-bottom:var(--space-2)}.log-scale-alert{margin-bottom:var(--space-3)}.chart-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-2);align-items:center;margin-bottom:var(--space-3)}.chart-toolbar__group{display:flex;align-items:center;gap:var(--space-2);font-size:.9rem;color:var(--color-text-muted)}.chart-toolbar__group select{width:auto;min-width:140px;font-size:.9rem}.chart-toolbar__hint{margin-left:auto;font-size:.8rem;color:var(--color-text-muted)}.data-table{overflow-x:auto;border-radius:var(--radius-md);border:1px solid rgba(15,23,42,.08);box-shadow:inset 0 1px #fff3}.data-table table{width:100%;border-collapse:collapse}.data-table thead{background:#0f172a0a}.data-table th{text-align:left;padding:.85rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted)}.data-table td{padding:.85rem;border-top:1px solid rgba(15,23,42,.06);vertical-align:top}.stacked-table tbody tr{transition:background .2s ease}.stacked-table tbody tr:hover{background:#0f172a08}@media(max-width:720px){.stacked-table table,.stacked-table thead,.stacked-table tbody,.stacked-table th,.stacked-table td,.stacked-table tr{display:block}.stacked-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.stacked-table tbody tr{margin-bottom:1rem;border-radius:var(--radius-sm);border:1px solid rgba(15,23,42,.05);background:var(--color-surface);box-shadow:var(--shadow-sm);padding:var(--space-3)}.stacked-table td{border:none;padding:.35rem 0;position:relative;padding-left:45%}.stacked-table td:before{position:absolute;left:0;top:0;width:40%;font-size:.8rem;font-weight:600;text-transform:uppercase;color:var(--color-text-muted);content:attr(data-label)}}.empty-state-card{text-align:center;padding:var(--space-6);border-radius:var(--radius-md);border:1px dashed rgba(15,23,42,.2);background:#0f172a05}.empty-state-card p{color:var(--color-text-muted);margin-bottom:var(--space-3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}:focus-visible{outline:3px solid rgba(30,124,90,.45);outline-offset:2px}@media(max-width:768px){.surface,.card{padding:var(--space-4)}}
