@import url(https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=IBM+Plex+Sans:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap);:root{--background:#f7f9f5;--surface:#fff;--surface-hover:#f2f5f0;--primary:#244c36;--primary-hover:#1b3b29;--primary-light:#e9efea;--accent:#c86b4f;--accent-hover:#a8553d;--text-main:#121e16;--text-muted:#526a5a;--border:#e2eae5;--success:#397a55;--warning:#d99c41;--danger:#b84a3b;--info:#427b9b;--font-headings:"Outfit",sans-serif;--font-body:"IBM Plex Sans",sans-serif;--font-mono:"IBM Plex Mono",monospace;--text-h1:2.5rem;--text-h2:2rem;--text-h3:1.5rem;--text-h4:1.25rem;--text-body:1rem;--text-small:0.875rem;--text-xs:0.75rem;--weight-light:300;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-xxl:48px;--space-xxxl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-pill:9999px;--shadow-sm:0 1px 2px #244c360d;--shadow-md:0 4px 6px -1px #244c3614,0 2px 4px -1px #244c360a;--shadow-lg:0 10px 15px -3px #244c361a,0 4px 6px -2px #244c360d;--shadow-focus:0 0 0 3px #244c3633;--sidebar-width:260px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:#f7f9f5;background-color:var(--background);color:#121e16;color:var(--text-main);font-family:IBM Plex Sans,sans-serif;font-family:var(--font-body);font-weight:400;font-weight:var(--weight-regular);line-height:1.6;min-height:100vh}h1,h2,h3,h4,h5,h6{font-family:Outfit,sans-serif;font-family:var(--font-headings);letter-spacing:-.02em;line-height:1.3;margin-bottom:16px;margin-bottom:var(--space-md)}h1{font-size:2.5rem;font-size:var(--text-h1);font-weight:700;font-weight:var(--weight-bold)}h2{font-size:2rem;font-size:var(--text-h2)}h2,h3{font-weight:600;font-weight:var(--weight-semibold)}h3{font-size:1.5rem;font-size:var(--text-h3)}h4{font-size:1.25rem;font-size:var(--text-h4);font-weight:500;font-weight:var(--weight-medium)}p{margin-bottom:16px;margin-bottom:var(--space-md)}a{color:#244c36;color:var(--primary);text-decoration:none;transition:color .2s ease}a:hover{color:#1b3b29;color:var(--primary-hover)}code{background-color:#e9efea;background-color:var(--primary-light);border-radius:4px;border-radius:var(--radius-sm);font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:.875rem;font-size:var(--text-small);padding:2px 6px}.app-container{display:flex;min-height:100vh}.sidebar{background-color:#fff;background-color:var(--surface);border-right:1px solid #e2eae5;border-right:1px solid var(--border);height:100vh;overflow-y:auto;position:fixed;width:260px;width:var(--sidebar-width)}.sidebar,.sidebar-header{display:flex;flex-direction:column}.sidebar-header{align-items:center;background-color:#000;border-bottom:1px solid #e2eae5;border-bottom:1px solid var(--border);gap:8px;gap:var(--space-sm);padding:24px 24px 16px;padding:var(--space-lg) var(--space-lg) var(--space-md)}.sidebar-logo{align-items:center;display:flex;justify-content:center;width:100%}.sidebar-logo-img{display:block;height:auto;max-width:160px}.sidebar-nav{flex:1 1;padding:16px;padding:var(--space-md)}.nav-section-title{color:#526a5a;color:var(--text-muted);font-size:.75rem;font-size:var(--text-xs);font-weight:600;font-weight:var(--weight-semibold);letter-spacing:.1em;padding:16px 8px;padding:var(--space-md) var(--space-sm);text-transform:uppercase}.nav-section-toggle{align-items:center;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:flex;justify-content:space-between;transition:background-color .2s ease,color .2s ease}.nav-section-toggle:hover{background-color:#ffffff0f;color:#121e16;color:var(--text-main)}.nav-section-title-left{align-items:center;display:flex;gap:6px}.nav-section-items{overflow:hidden;transition:max-height .3s ease,opacity .25s ease}.nav-section-items.expanded{max-height:500px;opacity:1}.nav-section-items.collapsed{max-height:0;opacity:0}.nav-item{align-items:center;border-radius:8px;border-radius:var(--radius-md);color:#121e16;color:var(--text-main);cursor:pointer;display:flex;font-size:.875rem;font-size:var(--text-small);font-weight:500;font-weight:var(--weight-medium);gap:8px;gap:var(--space-sm);margin-bottom:4px;margin-bottom:var(--space-xs);padding:8px 16px;padding:var(--space-sm) var(--space-md);transition:all .2s ease}.nav-item:hover{background-color:#f2f5f0;background-color:var(--surface-hover)}.nav-item.active{background-color:#e9efea;background-color:var(--primary-light);color:#244c36;color:var(--primary)}.nav-item-icon{align-items:center;display:flex;height:20px;justify-content:center;width:20px}.nav-item-badge{border-radius:9999px;border-radius:var(--radius-pill);font-size:.75rem;font-size:var(--text-xs);font-weight:600;font-weight:var(--weight-semibold);margin-left:auto;padding:2px 8px}.nav-item-badge.completed{background-color:#397a55;background-color:var(--success);color:#fff}.nav-item-badge.in-progress{background-color:#d99c41;background-color:var(--warning);color:#fff}.nav-item-badge.not-started{background-color:#e2eae5;background-color:var(--border);color:#526a5a;color:var(--text-muted)}.main-content{flex:1 1;margin-left:260px;margin-left:var(--sidebar-width);min-height:100vh;padding:32px;padding:var(--space-xl)}.page-header{margin-bottom:32px;margin-bottom:var(--space-xl)}.page-title{margin-bottom:4px;margin-bottom:var(--space-xs)}.page-subtitle{color:#526a5a;color:var(--text-muted);font-size:1rem;font-size:var(--text-body)}.card{background-color:#fff;background-color:var(--surface);border:1px solid #e2eae5;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-md);padding:24px;padding:var(--space-lg)}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--space-md)}.card-title{font-size:1.25rem;font-size:var(--text-h4);font-weight:600;font-weight:var(--weight-semibold);margin:0}.card-subtitle{color:#526a5a;color:var(--text-muted);font-size:.875rem;font-size:var(--text-small)}.bento-grid{grid-gap:24px;grid-gap:var(--space-lg);display:grid;gap:24px;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stats-grid{grid-gap:16px;grid-gap:var(--space-md);display:grid;gap:16px;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px;margin-bottom:var(--space-xl)}.stat-card{background-color:#fff;background-color:var(--surface);border:1px solid #e2eae5;border:1px solid var(--border);flex-direction:column;padding:24px;padding:var(--space-lg)}.stat-card,.stat-icon{border-radius:8px;border-radius:var(--radius-md);display:flex}.stat-icon{align-items:center;height:48px;justify-content:center;margin-bottom:16px;margin-bottom:var(--space-md);width:48px}.stat-icon.primary{background-color:#e9efea;background-color:var(--primary-light);color:#244c36;color:var(--primary)}.stat-icon.accent{background-color:#fbe9e4;color:#c86b4f;color:var(--accent)}.stat-icon.success{background-color:#e8f5ed;color:#397a55;color:var(--success)}.stat-icon.warning{background-color:#fff5e6;color:#d99c41;color:var(--warning)}.stat-icon.info{background-color:#e6f2f7;color:#427b9b;color:var(--info)}.stat-value{color:#121e16;color:var(--text-main);font-family:Outfit,sans-serif;font-family:var(--font-headings);font-size:2rem;font-size:var(--text-h2);font-weight:700;font-weight:var(--weight-bold);margin-bottom:4px;margin-bottom:var(--space-xs)}.stat-label{color:#526a5a;color:var(--text-muted)}.btn,.stat-label{font-size:.875rem;font-size:var(--text-small)}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-family:IBM Plex Sans,sans-serif;font-family:var(--font-body);font-weight:500;font-weight:var(--weight-medium);gap:8px;gap:var(--space-sm);justify-content:center;padding:8px 16px;padding:var(--space-sm) var(--space-md);transition:all .2s ease}.btn:focus{box-shadow:0 0 0 3px #244c3633;box-shadow:var(--shadow-focus);outline:none}.btn-primary{background-color:#244c36;background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:#1b3b29;background-color:var(--primary-hover);box-shadow:0 4px 6px -1px #244c3614,0 2px 4px -1px #244c360a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:#fff;background-color:var(--surface);border:1px solid #e2eae5;border:1px solid var(--border);color:#121e16;color:var(--text-main)}.btn-secondary:hover{background-color:#f2f5f0;background-color:var(--surface-hover)}.btn-accent{background-color:#c86b4f;background-color:var(--accent);color:#fff}.btn-accent:hover{background-color:#a8553d;background-color:var(--accent-hover);transform:translateY(-1px)}.btn-lg{font-size:1rem;font-size:var(--text-body);padding:16px 24px;padding:var(--space-md) var(--space-lg)}.btn-sm{font-size:.75rem;font-size:var(--text-xs);padding:4px 8px;padding:var(--space-xs) var(--space-sm)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.form-group{margin-bottom:16px;margin-bottom:var(--space-md)}.form-label{color:#121e16;color:var(--text-main);display:block;font-size:.875rem;font-size:var(--text-small);font-weight:500;font-weight:var(--weight-medium);margin-bottom:4px;margin-bottom:var(--space-xs)}.form-label.required:after{color:#b84a3b;color:var(--danger);content:" *"}.form-input,.form-select,.form-textarea{background-color:#fff;background-color:var(--surface);border:1px solid #e2eae5;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-md);color:#121e16;color:var(--text-main);font-family:IBM Plex Sans,sans-serif;font-family:var(--font-body);font-size:1rem;font-size:var(--text-body);height:44px;padding:0 16px;padding:0 var(--space-md);transition:all .2s ease;width:100%}.form-textarea{height:auto;min-height:100px;padding:16px;padding:var(--space-md);resize:vertical}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#244c36;border-color:var(--primary);box-shadow:0 0 0 3px #244c3633;box-shadow:var(--shadow-focus);outline:none}.form-input::placeholder{color:#526a5a;color:var(--text-muted)}.form-hint{color:#526a5a;color:var(--text-muted)}.form-error,.form-hint{font-size:.75rem;font-size:var(--text-xs);margin-top:4px;margin-top:var(--space-xs)}.form-error{color:#b84a3b;color:var(--danger)}.form-row{grid-gap:16px;grid-gap:var(--space-md);display:grid;gap:16px;gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.file-upload-zone{background-color:#f7f9f5;background-color:var(--background);border:2px dashed #e2eae5;border:2px dashed var(--border);border-radius:12px;border-radius:var(--radius-lg);cursor:pointer;padding:48px;padding:var(--space-xxl);text-align:center;transition:all .2s ease}.file-upload-zone.drag-over,.file-upload-zone:hover{background-color:#e9efea;background-color:var(--primary-light);border-color:#244c36;border-color:var(--primary)}.file-upload-icon{color:#526a5a;color:var(--text-muted);height:64px;margin:0 auto 16px;margin:0 auto var(--space-md);width:64px}.file-upload-text{color:#121e16;color:var(--text-main);font-size:1rem;font-size:var(--text-body);margin-bottom:8px;margin-bottom:var(--space-sm)}.file-upload-hint{color:#526a5a;color:var(--text-muted);font-size:.875rem;font-size:var(--text-small)}.file-upload-input{display:none}.table-container{overflow-x:auto}.table{border-collapse:collapse;width:100%}.table th{background-color:#f7f9f5;color:#526a5a;color:var(--text-muted);font-size:.75rem;font-size:var(--text-xs);font-weight:600;font-weight:var(--weight-semibold);letter-spacing:.05em;text-align:left;text-transform:uppercase}.table td,.table th{padding:16px;padding:var(--space-md)}.table td{border-bottom:1px solid #e2eae5;border-bottom:1px solid var(--border);font-size:.875rem;font-size:var(--text-small)}.table tbody tr:hover{background-color:#f2f5f0;background-color:var(--surface-hover)}.tabs{border-bottom:1px solid #e2eae5;border-bottom:1px solid var(--border);display:flex;gap:16px;gap:var(--space-md);margin-bottom:24px;margin-bottom:var(--space-lg)}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#526a5a;color:var(--text-muted);cursor:pointer;font-size:.875rem;font-size:var(--text-small);font-weight:500;font-weight:var(--weight-medium);padding:16px 4px;padding:var(--space-md) var(--space-xs);transition:all .2s ease}.tab.active,.tab:hover{color:#121e16;color:var(--text-main)}.tab.active{border-bottom-color:#244c36;border-bottom-color:var(--primary);font-weight:600;font-weight:var(--weight-semibold)}.alert{align-items:flex-start;border-radius:8px;border-radius:var(--radius-md);display:flex;font-size:.875rem;font-size:var(--text-small);gap:8px;gap:var(--space-sm);margin-bottom:16px;margin-bottom:var(--space-md);padding:16px;padding:var(--space-md)}.alert-success{background-color:#e8f5ed;border:1px solid #397a55;border:1px solid var(--success);color:#397a55;color:var(--success)}.alert-warning{background-color:#fff5e6;border:1px solid #d99c41;border:1px solid var(--warning);color:#d99c41;color:var(--warning)}.alert-danger{background-color:#fbe9e4;border:1px solid #b84a3b;border:1px solid var(--danger);color:#b84a3b;color:var(--danger)}.alert-info{background-color:#e6f2f7;border:1px solid #427b9b;border:1px solid var(--info);color:#427b9b;color:var(--info)}.progress-bar{background-color:#e2eae5;background-color:var(--border);border-radius:9999px;border-radius:var(--radius-pill);height:8px;overflow:hidden}.progress-fill{background-color:#244c36;background-color:var(--primary);height:100%;transition:width .3s ease}.progress-fill.success{background-color:#397a55;background-color:var(--success)}.progress-fill.warning{background-color:#d99c41;background-color:var(--warning)}.progress-fill.danger{background-color:#b84a3b;background-color:var(--danger)}.badge{align-items:center;border-radius:9999px;border-radius:var(--radius-pill);display:inline-flex;font-size:.75rem;font-size:var(--text-xs);font-weight:600;font-weight:var(--weight-semibold);padding:2px 10px}.badge-success{background-color:#e8f5ed;color:#397a55;color:var(--success)}.badge-warning{background-color:#fff5e6;color:#d99c41;color:var(--warning)}.badge-danger{background-color:#fbe9e4;color:#b84a3b;color:var(--danger)}.badge-info{background-color:#e6f2f7;color:#427b9b;color:var(--info)}.badge-neutral{background-color:#e2eae5;background-color:var(--border);color:#526a5a;color:var(--text-muted)}.modal-overlay{align-items:center;animation:fadeIn .2s ease;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{animation:slideUp .2s ease;background-color:#fff;background-color:var(--surface);border-radius:12px;border-radius:var(--radius-lg);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2eae5;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:24px;padding:var(--space-lg)}.modal-title{font-size:1.25rem;font-size:var(--text-h4);font-weight:600;font-weight:var(--weight-semibold);margin:0}.modal-close{background:none;border:none;border-radius:4px;border-radius:var(--radius-sm);color:#526a5a;color:var(--text-muted);cursor:pointer;padding:4px;padding:var(--space-xs);transition:all .2s ease}.modal-close:hover{background-color:#f2f5f0;background-color:var(--surface-hover);color:#121e16;color:var(--text-main)}.modal-body,.modal-footer{padding:24px;padding:var(--space-lg)}.modal-footer{border-top:1px solid #e2eae5;border-top:1px solid var(--border);display:flex;gap:8px;gap:var(--space-sm);justify-content:flex-end}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.department-grid{grid-gap:24px;grid-gap:var(--space-lg);display:grid;gap:24px;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.department-card{background-color:#fff;background-color:var(--surface);border:1px solid #e2eae5;border:1px solid var(--border);border-radius:8px;border-radius:var(--radius-md);cursor:pointer;padding:24px;padding:var(--space-lg);transition:all .2s ease}.department-card:hover{border-color:#244c36;border-color:var(--primary);box-shadow:0 4px 6px -1px #244c3614,0 2px 4px -1px #244c360a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.department-card-icon{align-items:center;background-color:#e9efea;background-color:var(--primary-light);border-radius:8px;border-radius:var(--radius-md);color:#244c36;color:var(--primary);display:flex;height:56px;justify-content:center;margin-bottom:16px;margin-bottom:var(--space-md);width:56px}.department-card-title{font-size:1.25rem;font-size:var(--text-h4);font-weight:600;font-weight:var(--weight-semibold);margin-bottom:4px;margin-bottom:var(--space-xs)}.department-card-status{color:#526a5a;color:var(--text-muted);font-size:.875rem;font-size:var(--text-small);margin-bottom:16px;margin-bottom:var(--space-md)}.iot-reading{background-color:#f7f9f5;background-color:var(--background);border-radius:8px;border-radius:var(--radius-md);justify-content:space-between;margin-bottom:8px;margin-bottom:var(--space-sm);padding:16px;padding:var(--space-md)}.iot-reading,.iot-reading-info{align-items:center;display:flex}.iot-reading-info{gap:16px;gap:var(--space-md)}.iot-reading-icon{align-items:center;background-color:#e9efea;background-color:var(--primary-light);border-radius:8px;border-radius:var(--radius-md);color:#244c36;color:var(--primary);display:flex;height:40px;justify-content:center;width:40px}.iot-reading-label{color:#526a5a;color:var(--text-muted);font-size:.875rem;font-size:var(--text-small)}.iot-reading-sensor{color:#526a5a;color:var(--text-muted);font-family:IBM Plex Mono,monospace;font-family:var(--font-mono);font-size:.75rem;font-size:var(--text-xs)}.iot-reading-value{color:#121e16;color:var(--text-main);font-family:Outfit,sans-serif;font-family:var(--font-headings);font-size:1.25rem;font-size:var(--text-h4);font-weight:700;font-weight:var(--weight-bold)}.iot-reading-unit{color:#526a5a;color:var(--text-muted);font-size:.875rem;font-size:var(--text-small);margin-left:4px;margin-left:var(--space-xs)}.question-item{background-color:#fff;background-color:var(--surface);border:1px solid #e2eae5;border-radius:8px;border-radius:var(--radius-md);margin-bottom:16px;margin-bottom:var(--space-md);padding:24px;padding:var(--space-lg)}.question-number{color:#526a5a;color:var(--text-muted);font-size:.75rem;font-size:var(--text-xs);font-weight:600;font-weight:var(--weight-semibold);letter-spacing:.05em;margin-bottom:8px;margin-bottom:var(--space-sm);text-transform:uppercase}.question-text{color:#121e16;color:var(--text-main);font-size:1rem;font-size:var(--text-body);font-weight:500;font-weight:var(--weight-medium);margin-bottom:16px;margin-bottom:var(--space-md)}.spinner{animation:spin .8s linear infinite;border:3px solid #e2eae5;border-top-color:#244c36;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:40px;width:40px}.skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#e2eae5 25%,#f2f5f0 50%,#e2eae5 75%);background:linear-gradient(90deg,var(--border) 25%,var(--surface-hover) 50%,var(--border) 75%);background-size:200% 100%;border-radius:8px;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.text-muted{color:#526a5a}.text-success{color:#397a55;color:var(--success)}.text-warning{color:#d99c41;color:var(--warning)}.text-danger{color:#b84a3b}.text-primary{color:#244c36;color:var(--primary)}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mt-lg{margin-top:24px}.mt-xl{margin-top:32px;margin-top:var(--space-xl)}.mb-sm{margin-bottom:8px;margin-bottom:var(--space-sm)}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}.mb-xl{margin-bottom:32px;margin-bottom:var(--space-xl)}.flex-between{align-items:center}.gap-sm{gap:8px}.gap-md{gap:16px}.loading-container{align-items:center;display:flex;justify-content:center;min-height:200px}@media (max-width:768px){.sidebar{display:none}.main-content{margin-left:0;padding:16px;padding:var(--space-md)}.bento-grid,.form-row,.stats-grid{grid-template-columns:1fr}}.page-header{margin-bottom:var(--space-lg)}.page-header .page-title{margin-bottom:var(--space-xs)}.page-header .page-subtitle{color:var(--text-muted)}.flex-between{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between}.flex{align-items:center;display:flex}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-md{margin-bottom:var(--space-md)}.mt-md{margin-top:var(--space-md)}.mt-sm{margin-top:var(--space-sm)}.mt-lg{margin-top:var(--space-lg)}.text-muted{color:var(--text-muted)}.text-danger{color:var(--danger)}.auth-modal-overlay,.flex-center{align-items:center;display:flex;justify-content:center}.auth-modal-overlay{animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009;inset:0;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.auth-modal-close{background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:4px;position:absolute;right:var(--space-md);top:var(--space-md);transition:color .15s ease,background-color .15s ease}.auth-modal-close:hover{background-color:var(--border);color:var(--text-main)}.auth-modal-logo-img{height:auto;max-width:120px}.auth-container{align-items:center;background:linear-gradient(135deg,var(--primary-light) 0,var(--background) 100%);display:flex;justify-content:center;min-height:100vh;padding:var(--space-lg)}.auth-card{background-color:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:420px;padding:var(--space-xl);position:relative;width:100%}.auth-header{margin-bottom:var(--space-xl);text-align:center}.auth-logo{align-items:center;display:flex;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-lg)}.auth-header h2{margin-bottom:var(--space-xs)}.auth-footer{border-top:1px solid var(--border);margin-top:var(--space-lg);padding-top:var(--space-lg);text-align:center}.link-button{background:none;border:none;color:var(--primary);cursor:pointer;font-weight:var(--weight-medium);text-decoration:underline}.link-button:hover{color:var(--primary-hover)}.btn-full{width:100%}.input-icon-wrapper{position:relative}.input-icon{color:var(--text-muted);left:var(--space-md);position:absolute;top:50%;transform:translateY(-50%)}.form-input.with-icon{padding-left:calc(var(--space-md)*2 + 18px)}.success-icon{color:var(--success);margin-bottom:var(--space-md)}.top-bar{background-color:var(--surface);border-bottom:1px solid var(--border);height:60px;justify-content:space-between;left:0;padding:0 var(--space-lg);position:fixed;right:0;top:0;z-index:100}.top-bar,.top-bar-logo{align-items:center;display:flex}.top-bar-logo{gap:var(--space-sm)}.top-bar-user{align-items:center;display:flex;gap:var(--space-md)}.user-name{font-weight:var(--weight-medium)}.main-content-full{margin-top:60px;min-height:calc(100vh - 60px);padding:var(--space-xl)}.client-columns{grid-gap:var(--space-lg);align-items:start;display:grid;gap:var(--space-lg);grid-template-columns:1fr 1fr}@media (max-width:960px){.client-columns{grid-template-columns:1fr}}.client-type-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-height:300px;padding:var(--space-lg)}.client-type-header{flex-wrap:wrap;justify-content:space-between;margin-bottom:var(--space-md)}.client-type-header,.client-type-label{align-items:center;display:flex;gap:var(--space-sm)}.client-type-label h3{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0}.client-list{display:flex;flex-direction:column;gap:var(--space-sm)}.client-grid{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.client-card{align-items:center;background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:var(--space-md);padding:var(--space-lg);transition:all .2s ease}.client-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.client-card.selected{background-color:var(--primary-light);border-color:var(--primary)}.client-card-icon{align-items:center;background-color:var(--primary-light);border-radius:var(--radius-md);color:var(--primary);display:flex;flex-shrink:0;height:56px;justify-content:center;width:56px}.client-card-info{flex:1 1;min-width:0}.client-card-name{font-size:var(--text-body);font-weight:var(--weight-semibold);margin:0 0 var(--space-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.client-card-location{color:var(--text-muted);font-size:var(--text-small);margin:0}.client-card-contact{color:var(--text-muted);font-size:var(--text-xs);margin:0}.client-card-arrow{color:var(--text-muted);flex-shrink:0}.client-actions{display:flex;gap:var(--space-md)}.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.department-card:hover .department-card-icon{background-color:var(--primary);color:#fff;transform:scale(1.05);transition:all .2s ease}.btn,.card,.department-card,.iot-reading,.nav-item,.tab{transition:all .2s ease}.table tbody tr{transition:background-color .15s ease}.sidebar::-webkit-scrollbar{width:6px}.sidebar::-webkit-scrollbar-track{background:#0000}.sidebar::-webkit-scrollbar-thumb{background-color:var(--border);border-radius:3px}.sidebar::-webkit-scrollbar-thumb:hover{background-color:var(--text-muted)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{box-shadow:var(--shadow-focus);outline:none}@media print{.sidebar{display:none}.main-content{margin-left:0;padding:20px}.btn{display:none}}.audit-section{background-color:var(--surface);border-radius:var(--radius-lg);padding:var(--space-lg)}.section-header{border-bottom:1px solid var(--border);padding-bottom:var(--space-md)}.section-title{color:var(--text-main);font-family:var(--font-headings);font-size:var(--text-h4);font-weight:var(--weight-semibold)}.section-content{padding-top:var(--space-lg)}.inventory-table-wrapper{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.inventory-table-wrapper .table{margin:0}.inventory-table-wrapper .table th{background-color:var(--primary-light);color:var(--primary)}.audit-context{background-color:var(--primary-light);border-bottom:1px solid var(--border);padding:var(--space-xs) var(--space-lg)}.audit-context-company{align-items:center;color:var(--primary);display:flex;font-size:var(--text-xs);font-weight:var(--weight-semibold);gap:var(--space-xs);margin-bottom:2px}.audit-context-company .text-muted{color:var(--text-muted);font-style:italic;font-weight:var(--weight-regular)}.audit-context-progress{margin-top:2px}.audit-context-label{color:var(--text-muted);font-size:.6rem;letter-spacing:.05em;text-transform:uppercase}.audit-context-stats{align-items:baseline;display:flex;gap:2px;margin-top:1px}.audit-context-stats .audit-completed{color:var(--success);font-family:var(--font-headings);font-size:var(--text-base);font-weight:var(--weight-bold)}.audit-context-stats .audit-separator,.audit-context-stats .audit-total{color:var(--text-muted);font-size:var(--text-xs)}.comparison-list{padding:var(--space-md)}.comparison-item{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-md);overflow:hidden}.comparison-item.status-matched{border-left:4px solid var(--success)}.comparison-item.status-discrepancy{border-left:4px solid var(--warning)}.comparison-item.status-reviewed{border-left:4px solid var(--info)}.comparison-item.status-pending{border-left:4px solid var(--border)}.comparison-item-header{align-items:center;background-color:var(--surface);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:var(--space-md) var(--space-lg)}.comparison-item-title{align-items:center;display:flex;font-size:var(--text-body);font-weight:var(--weight-semibold);gap:var(--space-sm)}.comparison-item-body{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(3,1fr);padding:var(--space-lg)}@media (max-width:1024px){.comparison-item-body{grid-template-columns:1fr}}.comparison-column{background-color:var(--surface);border-radius:var(--radius-sm);padding:var(--space-md)}.comparison-column-title{align-items:center;border-bottom:1px solid var(--border);color:var(--text-muted);display:flex;font-weight:var(--weight-semibold);gap:var(--space-sm);letter-spacing:.05em;margin-bottom:var(--space-md);padding-bottom:var(--space-sm);text-transform:uppercase}.comparison-column-title,.comparison-data{font-size:var(--text-small)}.comparison-data-row{display:flex;justify-content:space-between;padding:var(--space-xs) 0}.comparison-data-row .label{color:var(--text-muted)}.comparison-data-row .value{font-family:var(--font-mono);font-weight:var(--weight-medium)}.comparison-question{line-height:1.5;margin-bottom:var(--space-sm)}.comparison-answer{background-color:var(--primary-light);border-radius:var(--radius-sm);font-style:italic;margin-top:var(--space-sm);padding:var(--space-sm)}.comparison-empty{color:var(--text-muted);font-style:italic;padding:var(--space-md);text-align:center}.comparison-iot-reading{border-bottom:1px dashed var(--border);display:flex;justify-content:space-between;padding:var(--space-xs) 0}.comparison-iot-reading:last-child{border-bottom:none}.comparison-iot-reading .sensor-type{color:var(--text-muted);text-transform:capitalize}.comparison-iot-reading .sensor-value{color:var(--primary);font-family:var(--font-mono);font-weight:var(--weight-medium)}.comparison-notes{align-items:flex-start;background-color:var(--surface);border-top:1px solid var(--border);color:var(--text-muted);display:flex;font-size:var(--text-small);gap:var(--space-sm);padding:var(--space-md) var(--space-lg)}.comparison-notes svg{flex-shrink:0;margin-top:2px}.iot-readings-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:var(--space-md)}.iot-reading-card{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-lg);transition:all .2s ease}.iot-reading-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md)}.iot-reading-header{align-items:center;display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.iot-reading-meta{flex:1 1}.iot-reading-type{color:var(--text-main);font-size:var(--text-small);font-weight:var(--weight-medium);text-transform:capitalize}.iot-reading-value-large{color:var(--primary);font-family:var(--font-headings);font-size:var(--text-h2);font-weight:var(--weight-bold);margin-bottom:var(--space-sm)}.iot-reading-unit-large{color:var(--text-muted);font-size:var(--text-body);font-weight:var(--weight-regular);margin-left:var(--space-xs)}.iot-reading-dept{margin-top:var(--space-sm)}.empty-state{color:var(--text-muted);padding:var(--space-xxl);text-align:center}.empty-state-icon{margin-bottom:var(--space-md);opacity:.5}.recharts-tooltip-wrapper{z-index:100}.nav-item-badge svg{display:block}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--danger)}.form-input.success,.form-select.success,.form-textarea.success{border-color:var(--success)}@media (max-width:768px){.mobile-nav-toggle{align-items:center;background-color:var(--primary);border-radius:50%;bottom:20px;box-shadow:var(--shadow-lg);color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:20px;width:56px;z-index:1000}.page-title{font-size:var(--text-h3)}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat-card{padding:var(--space-md)}.stat-value{font-size:var(--text-h3)}}.loader-overlay{align-items:center;background-color:#fffc;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.card.highlight{background-color:var(--primary-light);border-color:var(--primary)}.card.warning{background-color:#fff5e6;border-color:var(--warning)}.table th{background-color:var(--background);position:sticky;top:0;z-index:10}.table-container{max-height:400px;overflow-y:auto}.question-item.answered{border-left:3px solid var(--success)}.question-item.unanswered{border-left:3px solid var(--border)}.iot-reading.live:before{animation:pulse 2s infinite;background-color:var(--success);border-radius:50%;content:"";height:8px;left:16px;position:absolute;top:50%;width:8px}@keyframes pulse{0%{box-shadow:0 0 0 0 #397a5566}70%{box-shadow:0 0 0 10px #397a5500}to{box-shadow:0 0 0 0 #397a5500}}.file-upload-zone.drag-over{background-color:var(--primary-light);border-color:var(--primary);transform:scale(1.02)}.modal{animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.progress-fill{transition:width .5s ease}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tab:after{background-color:var(--primary);bottom:0;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transition:transform .2s ease;width:100%}.tab.active:after{transform:scaleX(1)}.alert svg{flex-shrink:0;margin-top:2px}.recharts-responsive-container{min-height:200px}.audit-progress-bar-container{margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg)}.audit-progress-bar-container,.audit-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.audit-section{margin-bottom:var(--space-md);overflow:hidden}.audit-section-header{background:var(--background);border-bottom:1px solid var(--border);cursor:pointer;padding:var(--space-md) var(--space-lg);transition:background-color .15s ease;-webkit-user-select:none;user-select:none}.audit-section-header:hover{background:var(--primary-light)}.audit-section-title{align-items:center;display:flex;gap:var(--space-sm)}.audit-section-title h3{color:var(--text-primary);flex:1 1;font-size:1rem;font-weight:600;margin:0}.audit-section-body{padding:var(--space-md) var(--space-lg)}.audit-subsection{margin-bottom:var(--space-lg)}.audit-subsection:last-child{margin-bottom:0}.audit-subsection-title{border-bottom:2px solid var(--primary-light);color:var(--primary);font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:var(--space-md);padding-bottom:var(--space-xs);text-transform:uppercase}.questions-list{display:flex;flex-direction:column;gap:var(--space-sm)}.question-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-md);transition:border-color .15s ease}.question-item:hover{border-color:var(--primary-light)}.question-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-sm)}.question-number{background:var(--primary);border-radius:var(--radius-sm);color:var(--surface);font-size:.7rem;font-weight:700;line-height:1.4;padding:2px 8px;white-space:nowrap}.question-text{color:var(--text-primary);flex:1 1;font-size:.9rem;line-height:1.4;min-width:200px}.question-input{margin-top:var(--space-xs)}.emission-badge{border-radius:var(--radius-sm);font-size:.7rem;font-weight:600;padding:2px 6px;white-space:nowrap}.emission-badge.positive{background:#fef2f2;color:#991b1b}.emission-badge.negative{background:#f0fdf4;color:#166534}.dynamic-badge{align-items:center;background:#eff6ff;border-radius:var(--radius-sm);color:#1e40af;display:inline-flex;font-size:.7rem;font-weight:500;gap:3px;padding:2px 6px;white-space:nowrap}.boolean-toggle{align-items:center;display:flex;gap:var(--space-xs)}.toggle-btn{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:500;gap:4px;padding:6px 14px;transition:all .15s ease}.toggle-btn:hover{border-color:var(--primary);color:var(--primary)}.toggle-btn.active.yes{background:#f0fdf4;border-color:#16a34a;color:#166534}.toggle-btn.active.no{background:#fef2f2;border-color:#dc2626;color:#991b1b}.toggle-btn.clear{color:var(--text-muted);padding:6px 8px}.toggle-btn.clear:hover{border-color:var(--danger);color:var(--danger)}.numeric-input-wrapper{align-items:center;display:flex;gap:var(--space-xs)}.numeric-input-wrapper .form-input{flex:1 1;max-width:300px}.input-unit-badge{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:.8rem;font-weight:500;padding:6px 10px;white-space:nowrap}.department-card.department-na{border-style:dashed;opacity:.6}.department-card.department-na .department-card-top{cursor:default}.department-card-top{cursor:pointer}.department-na-toggle{align-items:center;border-top:1px solid var(--border);color:var(--text-muted);cursor:pointer;display:flex;font-size:.8rem;gap:var(--space-xs);margin-top:var(--space-sm);padding:var(--space-xs) var(--space-sm);transition:color .15s ease;-webkit-user-select:none;user-select:none}.department-na-toggle:hover{color:var(--text-primary)}.department-na-toggle.active{color:#b45309}.na-checkbox{align-items:center;border:2px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-shrink:0;height:18px;justify-content:center;transition:all .15s ease;width:18px}.na-checkbox.checked{background:#f59e0b;border-color:#f59e0b;color:#fff}.badge-na{background:#fef3c7;border-radius:var(--radius-sm);color:#92400e;font-size:.75rem;font-weight:600;padding:2px 8px}.energy-co2-summary{background:linear-gradient(135deg,#f0fdf4,#ecfdf5 50%,#f0f9ff);border:1px solid #bbf7d0;border-radius:var(--radius-md);padding:var(--space-lg)}.summary-title{color:#166534;font-size:1.1rem;font-weight:700;margin-bottom:var(--space-md)}.summary-empty,.summary-title{align-items:center;display:flex;gap:var(--space-sm)}.summary-empty{color:var(--text-muted);font-size:.9rem;padding:var(--space-sm) 0}.summary-stats-row{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:var(--space-md)}.summary-stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-md);text-align:center}.summary-stat-icon{align-items:center;border-radius:50%;display:flex;height:40px;justify-content:center;margin:0 auto var(--space-xs);width:40px}.summary-stat-icon.energy{background:#fef3c7;color:#b45309}.summary-stat-icon.power{background:#dbeafe;color:#1d4ed8}.summary-stat-icon.co2{background:#dcfce7;color:#166534}.summary-stat-icon.efficiency{background:#f3e8ff;color:#7c3aed}.summary-stat-value{color:var(--text-primary);font-size:1.4rem;font-weight:700}.summary-stat-label{color:var(--text-muted);font-size:.75rem;margin-top:2px}.summary-breakdown{border-top:1px solid #bbf7d0;padding-top:var(--space-md)}.summary-breakdown-title{color:#166534;font-size:.85rem;font-weight:600;margin-bottom:var(--space-sm)}.summary-breakdown-table{display:flex;flex-direction:column;gap:2px}.summary-breakdown-row{grid-gap:var(--space-sm);border-radius:var(--radius-sm);display:grid;font-size:.85rem;gap:var(--space-sm);grid-template-columns:2fr 1fr 1fr 1fr;padding:var(--space-xs) var(--space-sm)}.summary-breakdown-row.header{border-bottom:1px solid #bbf7d0;color:var(--text-secondary);font-weight:600}.summary-breakdown-row:not(.header){background:var(--surface)}.discrepancy-alerts{background:#fffbeb;border:1px solid #fbbf24;border-radius:var(--radius-md);overflow:hidden}.discrepancy-alerts-header{align-items:center;background:#fef3c7;border-bottom:1px solid #fbbf24;color:#92400e;display:flex;font-weight:600;gap:var(--space-sm);padding:var(--space-md) var(--space-lg)}.discrepancy-alert-item{align-items:center;border-bottom:1px solid #fef3c7;display:flex;gap:var(--space-md);padding:var(--space-sm) var(--space-lg)}.discrepancy-alert-item:last-child{border-bottom:none}.discrepancy-alert-item.high{border-left:4px solid #ef4444}.discrepancy-alert-item.medium{border-left:4px solid #f59e0b}.discrepancy-dept{font-weight:600;min-width:150px}.discrepancy-metric{color:var(--text-muted);font-size:.85rem;min-width:130px}.discrepancy-values{display:flex;flex:1 1;font-size:.85rem;gap:var(--space-md)}.discrepancy-variance{font-size:.9rem;font-weight:700;min-width:60px;text-align:right}.discrepancy-variance.over{color:#dc2626}.discrepancy-variance.under{color:#2563eb}.row-discrepancy{background:#fffbeb!important}.text-danger{color:#dc2626!important;font-weight:600}.pmc-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:var(--space-md)}.pmc-card{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-md)}.pmc-card-title{border-bottom:2px solid var(--primary-light);color:var(--text-primary);font-size:.85rem;font-weight:600;margin-bottom:var(--space-sm);padding-bottom:var(--space-xs)}.pmc-readings{display:flex;flex-direction:column;gap:var(--space-xs)}.pmc-reading{align-items:center;display:flex;font-size:.85rem;justify-content:space-between}.pmc-label{color:var(--text-muted)}.pmc-value{color:var(--text-primary);font-weight:600}.pmc-value small{color:var(--text-muted);font-size:.75rem;font-weight:400}.iot-tabs{background:var(--border);border-radius:var(--radius);display:flex;gap:2px;padding:2px}.iot-tab{align-items:center;background:#0000;border:none;border-radius:calc(var(--radius) - 2px);color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:var(--text-small);font-weight:500;gap:6px;justify-content:center;padding:var(--space-sm) var(--space-md);transition:all .15s ease}.iot-tab:hover{background:var(--surface)}.iot-tab.active{background:var(--bg);box-shadow:0 1px 3px #00000014;color:var(--primary);font-weight:600}.pmc-register-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:var(--space-sm)}.pmc-register-group{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md)}.pmc-register-cat{border-bottom:1px solid var(--border);color:var(--primary);font-size:var(--text-small);font-weight:700;letter-spacing:.04em;margin-bottom:4px;padding-bottom:4px;text-transform:uppercase}.pmc-register-item{color:var(--text-secondary);font-family:monospace;font-size:.72rem;padding:1px 0}.live-controls{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-md);justify-content:space-between;margin-bottom:var(--space-md)}.live-controls-left,.live-controls-right{align-items:center;display:flex;gap:var(--space-sm)}.live-indicator{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:20px;color:var(--text-muted);display:flex;font-size:.7rem;font-weight:700;gap:6px;letter-spacing:.08em;padding:4px 12px}.live-indicator.active{background:#ecfdf5;border-color:#a7f3d0;color:#059669}.live-dot{background:var(--text-muted);border-radius:50%;height:8px;width:8px}.live-indicator.active .live-dot{animation:livePulse 1.5s ease-in-out infinite;background:#059669}@keyframes livePulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.live-snapshot{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-lg)}.live-values-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.live-value-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);text-align:center;transition:border-color .15s ease}.live-value-card:hover{border-color:var(--primary)}.live-value-label{color:var(--text-muted);font-size:.65rem;font-weight:600;letter-spacing:.06em;margin-bottom:2px;text-transform:uppercase}.live-value-num{font-feature-settings:"tnum";color:var(--text);font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.2}.live-value-unit{color:var(--text-secondary);font-size:.65rem;font-weight:500}.live-charts{display:flex;flex-direction:column;gap:0}.alert-count-badge{background:#e53e3e;border-radius:10px;color:#fff;font-size:.65rem;font-weight:700;margin-left:auto;min-width:18px;padding:1px 6px;text-align:center}.alerts-list{display:flex;flex-direction:column;gap:var(--space-md)}.alert-card{background:var(--bg);border-left:4px solid var(--text-muted);border-radius:var(--radius);box-shadow:0 1px 3px #0000000f;padding:var(--space-lg)}.alert-card.severity-high{background:#fff5f5;border-left-color:#e53e3e}.alert-card.severity-medium{background:ivory;border-left-color:#d69e2e}.alert-card-header{align-items:center;display:flex;gap:var(--space-md)}.alert-card-icon{align-items:center;background:var(--surface);border-radius:50%;color:var(--primary);display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.severity-high .alert-card-icon{background:#fed7d7;color:#e53e3e}.severity-medium .alert-card-icon{background:#fefcbf;color:#d69e2e}.alert-card-info{flex:1 1}.alert-card-dept{color:var(--text);font-size:var(--text-base);font-weight:600}.alert-card-message{color:var(--text-muted);font-size:var(--text-small);margin-top:2px}.alert-card-details{border-top:1px solid var(--border);color:var(--text-secondary);display:flex;font-size:var(--text-small);gap:var(--space-xl);margin-top:var(--space-sm);padding-top:var(--space-sm)}.assets-grid{grid-gap:var(--space-md);display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.asset-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color .15s ease}.asset-card:hover{border-color:var(--primary)}.asset-card-header{align-items:center;display:flex;gap:var(--space-sm);margin-bottom:var(--space-sm)}.asset-card-header h3{flex:1 1;font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0}.asset-card-actions{display:flex;gap:4px}.btn-icon{background:none;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;padding:4px 6px;transition:all .15s ease}.btn-icon:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.btn-icon-danger:hover{background:#dc354514;border-color:var(--danger);color:var(--danger)}.asset-card-details{display:flex;flex-direction:column;gap:4px}.asset-detail-row{align-items:center;color:var(--text-muted);display:flex;font-size:.82rem;gap:6px}.asset-detail-tag{background:var(--primary-light);border-radius:var(--radius-sm);color:var(--primary);display:inline-block;font-size:.72rem;font-weight:var(--weight-semibold);letter-spacing:.05em;margin-bottom:4px;padding:2px 8px;text-transform:uppercase;width:fit-content}.asset-card-id{border-top:1px solid var(--border);margin-top:var(--space-sm);padding-top:var(--space-sm)}.asset-form-card{background:var(--surface);border:1px solid var(--primary);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);padding:var(--space-lg)}.asset-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--space-md)}.asset-form-header h3{font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0}.asset-form-grid{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:1fr 1fr}.asset-selector{margin-top:4px}.asset-select{font-size:.75rem!important;height:auto!important;padding:3px 6px!important}.energy-cards-grid{display:flex;flex-direction:column;gap:var(--space-lg)}.energy-upload-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.energy-card-header{cursor:pointer;padding:var(--space-lg);position:relative;transition:background-color .15s ease}.energy-card-header:hover{background-color:var(--primary-light)}.energy-card-title-row{align-items:center;display:flex;gap:var(--space-sm)}.energy-card-title-row h3{flex:1 1;font-size:var(--text-base);font-weight:var(--weight-semibold);margin:0}.energy-card-desc{font-size:var(--text-xs)!important;margin-top:4px}.energy-card-meta{color:var(--text-muted);font-size:.75rem;margin-top:4px}.energy-expand-icon{color:var(--text-muted);position:absolute;right:var(--space-lg);top:50%;transform:translateY(-50%);transition:transform .2s ease}.energy-expand-icon.rotated{transform:translateY(-50%) rotate(180deg)}.energy-card-body{max-height:0;overflow:hidden;padding:0 var(--space-lg);transition:max-height .35s ease,padding .35s ease}.energy-card-body.expanded{max-height:1200px;padding:0 var(--space-lg) var(--space-lg)}.energy-drop-zone{align-items:center;border:2px dashed var(--border);border-radius:var(--radius-md);color:var(--text-muted);display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);text-align:center;transition:border-color .2s ease,background .2s ease}.energy-drop-zone.dragover,.energy-drop-zone:hover{background:var(--primary-light);border-color:var(--primary)}.energy-drop-zone p{font-size:var(--text-small);margin:0}.energy-reconciliation{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-md);padding:var(--space-md)}.energy-reconciliation h4{font-size:var(--text-small);font-weight:var(--weight-semibold);margin-bottom:var(--space-sm)}.energy-recon-grid{grid-gap:var(--space-xs) var(--space-lg);display:grid;font-size:.82rem;gap:var(--space-xs) var(--space-lg);grid-template-columns:1fr 1fr}.energy-mapping-section{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-md);padding:var(--space-md)}.energy-mapping-section h4{font-size:var(--text-small);font-weight:var(--weight-semibold);margin-bottom:var(--space-xs)}.energy-mapping-fields{grid-gap:var(--space-sm);display:grid;gap:var(--space-sm);grid-template-columns:1fr 1fr 1fr;margin-bottom:var(--space-sm)}.energy-monthly-preview{margin-top:var(--space-md)}.energy-monthly-preview h4{font-size:var(--text-small);font-weight:var(--weight-semibold);margin-bottom:var(--space-xs)}.badge-muted{background-color:var(--background);border:1px solid var(--border);color:var(--text-muted)}.lang-switcher-auth{display:flex;gap:4px;position:fixed;right:var(--space-md);top:var(--space-md);z-index:100}.lang-btn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;padding:4px 10px;transition:all .15s ease}.lang-btn:hover{background:var(--primary-light);color:var(--primary)}.lang-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.lang-switcher{display:flex;gap:4px;justify-content:center}.welcome-page{align-items:center;background:#0a0a0a;color:#fff;display:flex;flex-direction:column;min-height:100vh}.welcome-lang-bar{display:flex;gap:4px;position:absolute;right:var(--space-xl);top:var(--space-lg);z-index:10}.welcome-lang-bar .lang-btn{background:#ffffff14;border-color:#ffffff26;color:#fff9}.welcome-lang-bar .lang-btn:hover{background:#ffffff26;color:#fff}.welcome-lang-bar .lang-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.welcome-hero{align-items:center;display:flex;flex-direction:column;max-width:960px;padding:60px var(--space-xl) 40px;text-align:center}.welcome-logo-area{background:#000;border-radius:var(--radius-lg);margin-bottom:var(--space-lg);padding:var(--space-md) var(--space-lg)}.welcome-logo-img{display:block;height:auto;max-width:200px}.welcome-title{align-items:center;display:flex;flex-direction:column;margin-bottom:var(--space-lg)}.welcome-title-line{color:#fff;font-family:var(--font-headings);font-size:4.2rem;font-weight:800;letter-spacing:-.02em;line-height:1.1;text-shadow:0 2px 20px #00000080}.welcome-title-amp{color:#ffffffd9;font-family:var(--font-headings);font-size:2.4rem;font-style:italic;font-weight:300;line-height:1.4}.welcome-subtitle{color:#ffffff80;font-size:1.05rem;line-height:1.7;margin-bottom:var(--space-xl);max-width:560px}.welcome-cta{display:flex;gap:var(--space-md)}.welcome-cta .btn-primary,.welcome-cta .btn-secondary{font-size:1rem;padding:12px 36px}.welcome-cta .btn-secondary{background:#ffffff14;border-color:#fff3;color:#fff}.welcome-cta .btn-secondary:hover{background:#ffffff26}.welcome-features{grid-gap:var(--space-lg);display:grid;gap:var(--space-lg);grid-template-columns:repeat(4,1fr);max-width:960px;padding:40px var(--space-xl);width:100%}.welcome-feature-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:var(--radius-lg);padding:var(--space-lg);transition:border-color .2s ease,background .2s ease}.welcome-feature-card:hover{background:#ffffff0f;border-color:#ffffff2e}.welcome-feature-icon{align-items:center;background:var(--primary);border-radius:var(--radius-md);color:#fff;display:flex;height:48px;justify-content:center;margin-bottom:var(--space-md);width:48px}.welcome-feature-card h3{color:#fff;font-size:.95rem;font-weight:var(--weight-semibold);margin-bottom:var(--space-xs)}.welcome-feature-card p{color:#ffffff73;font-size:.82rem;line-height:1.6}.welcome-footer{color:#ffffff40;font-size:.8rem;margin-top:auto;padding:var(--space-lg)}@media (max-width:768px){.welcome-features{grid-template-columns:1fr 1fr}.welcome-title-line{font-size:2.4rem}.welcome-title-amp{font-size:1.6rem}.welcome-cta{flex-direction:column;width:100%}.welcome-cta .btn{width:100%}}@media (max-width:480px){.welcome-features{grid-template-columns:1fr}}
/*# sourceMappingURL=main.afa49c15.css.map*/