body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}*,body{font-family:Helvetica,Arial,sans-serif;margin:0;padding:0}body{background-color:#fffbed;color:#333}.login-container{align-items:center;background-color:#fffbed;display:flex;height:100vh;justify-content:center}.login-box,.login-container{box-sizing:border-box;padding:20px}.login-box{background-color:#fff;border:3px solid #333;border-radius:15px;box-shadow:0 4px 8px #0000001a;width:300px}.login-box h2{color:#285335;font-size:30px;font-style:bold;text-align:center}.login-box .form-group,.login-box form{display:flex;flex-direction:column}.login-box .form-group{margin-bottom:15px}.login-box .form-group label{color:#285335;font-weight:700;margin-bottom:5px}.login-box .form-group input{border:1px solid #dfe6e2;border-radius:4px;margin:0 auto;max-width:250px;padding:10px;width:100%}.login-box button{background-color:#154724!important;border:none;border-radius:4px;color:#fff!important;cursor:pointer;font-weight:700;margin-top:10px;padding:10px;width:100%}.login-box button:hover{background-color:#4a7c59!important}.login-box p{color:#4a7c59;text-align:center}.login-box p a{color:#88b77b!important;text-decoration:none}.login-box p a:hover{text-decoration:underline!important}.login-box .error-message{color:#d9534f!important;margin-bottom:15px;text-align:center}.logo{display:block;height:auto;margin:0 auto 20px;width:100px}.login-box .forgot-password{background:none!important;border:none!important;color:#506885!important;cursor:pointer!important;display:block;font-size:.65em;margin-left:60%;margin-top:10px;padding:5px 10px;text-align:right;width:auto}.login-box .forgot-password:hover{background-color:#847058!important;color:#a7b0bb!important;text-decoration:underline!important}.login-box .success-message{color:#3f7c3e!important;margin-bottom:10px;text-align:center}.reset-password-container{margin-top:20px;text-align:left}.reset-password-container label{color:#4a7c59;display:block;font-weight:700;margin-bottom:5px}@media (max-width:600px){.login-box{border-radius:10px;padding:15px;width:90%}.login-box h2{font-size:24px}.login-box .form-group input{max-width:100%}.login-box button{font-size:1em;padding:12px}.logo{margin-bottom:15px;width:80px}.login-box .forgot-password{font-size:.75em;margin-left:0;text-align:center}}.admin-container{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background-color:#fffbed;display:flex;flex-direction:column;height:100vh;justify-content:center;position:relative;text-align:center;z-index:1}.welcome-message{background-color:#e9e9e9;border-radius:4px;box-shadow:0 2px 4px #0000001a;color:#000;display:inline-block;font-size:2rem;margin-bottom:20px;opacity:70%;padding:10px 20px}.site-list-container{background-color:#f8f8f8;border-radius:8px;box-shadow:inset 0 8px 20px #0003;margin-bottom:20px;padding:20px 20px 30px;transition:height .3s ease;width:45%}.MuiPaper-root.site-list-container{box-shadow:inset 0 4px 10px #0003!important}.site-list-title{color:#333;font-size:1.25rem;margin-bottom:10px;text-align:left}.site-list{list-style:none;margin:0;max-height:180px;overflow-y:auto;padding:0}.site-list-item{background-color:#e2e2e2;border-radius:4px;cursor:pointer;margin:10px 0;padding:10px;transition:background-color .3s ease}.site-list-item:hover{background-color:#e0f7fa}.no-sites-message{color:#999;font-size:1rem;margin-top:10px;text-align:center}.account-info-button{border-radius:6px;margin-top:20px;padding:10px 18px;transition:background-color .3s ease,transform .2s ease}.account-info-button:hover{background-color:#4a884d!important;transform:scale(1.02)}.sign-out-button{background-color:#e71d1a!important;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:10px;padding:10px 18px;transition:background-color .3s ease,transform .2s ease}.sign-out-button:hover{background-color:#cc6b69!important;transform:scale(1.02)}.admin-button-container{display:flex;gap:10px;justify-content:center;margin-top:20px}.admin-button-container:button{border:3px solid #333}.background-image-container{background-position:50%;background-size:cover;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .7s ease;width:100%;z-index:-1}.background-image-container.visible{opacity:.9}.background-image-container.fading-out{opacity:0}@media (max-width:700px){.admin-container{height:auto;padding:20px}.welcome-message{font-size:1.5rem;margin-bottom:15px;padding:8px 15px}.site-list-container{margin-bottom:15px;padding:15px;width:90%}.site-list-title{font-size:1.1rem;text-align:center}.site-list-item{margin:8px 0;padding:8px}.no-sites-message{font-size:.9rem}.account-info-button,.sign-out-button{padding:10px 0;width:100%}.admin-button-container{flex-direction:column;gap:10px}.background-image-container{background-position:50%;background-size:cover;height:100vh}}.page-layout{margin-top:0;min-height:100vh}.top-nav-bar{color:#fff;padding:12px 20px}.dashboard-container{margin-top:20px;padding:20px}.dashboard-main{display:flex;flex-direction:column;flex-grow:1;padding:20px}.dashboard-header{font-size:20px;font-weight:bolder;padding-bottom:30px}.dashboard-header h1{color:#001;font-size:5vh}.dashboard-header h2{font-size:2vh;padding-bottom:8px}.date-selection{align-items:center;color:#000;display:flex;font-family:Helvetica,Arial,sans-serif;font-size:4vh;font-weight:200}.date-dropdown,.date-dropdown-menu{appearance:none;background-color:initial;background-image:none!important;background-position:100%;background-repeat:no-repeat;background-size:14px;border:none;color:#000;cursor:pointer;font-family:Helvetica,Arial,sans-serif;font-size:3vh;font-weight:600;outline:none;padding:2px 5px;transition:background-color .5s ease}.date-dropdown-menu:hover,.date-dropdown:focus{background-color:#00000080;border-radius:10px}.date-dropdown option{background-color:#fff;color:#000;font-family:Helvetica,Arial,sans-serif;font-size:20px;font-weight:400}.dashboard-grid{grid-gap:20px;display:grid;grid-template-areas:"pie site-data fault-level-breakdown" "table table table";grid-template-columns:1fr 1fr 1fr}.kw-input{margin-bottom:10px;margin-top:10px}.kw-input label{font-weight:700;margin-right:10px}.kw-input input{border:1px solid #ccc;border-radius:4px;padding:5px;width:80px}.dashboard-pie-chart{grid-area:pie}.dashboard-pie-chart,.dashboard-site-data{background-color:#f5f5f5;border:3px solid #333;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;padding:20px}.dashboard-site-data{grid-area:site-data}.dashboard-site-data p.small-text{color:#888;font-size:.85rem;font-style:italic;margin-top:15px}.dashboard-data-table{background-color:#f5f5f5;border:3px solid #333;border-radius:8px;box-shadow:0 4px 12px #0000001a;grid-area:table;max-height:400px;overflow-y:auto;padding:20px}.dashboard-data-table h2{padding-bottom:10px}body.dark-mode{background-color:#121212;color:#e0e0e0}.dark-mode .top-nav-bar{background-color:#222;color:#ddd}.dark-mode .metric-highlight-red{background-color:#4a0000;border-color:#c00;color:#fcc}.dark-mode .metric-combined-orange{background-color:#4a2c00;border-color:#ff8c42;color:#ffdab8}.dark-mode .level-box.yellow{background-color:#330;border-color:#990;color:#e6e600}.dark-mode .level-box.orange{background-color:#4a2f2a;border-color:#cc5200;color:#ffa366}.dark-mode .level-box.red{background-color:#4a0000;border-color:#c00;color:#f99}.dark-mode .dashboard-container{background-color:#121212}.dark-mode .dashboard-footer{color:#999}.dark-mode,.dark-mode .dashboard-container,.dark-mode .dashboard-data-table,.dark-mode .dashboard-fault-level-card,.dark-mode .dashboard-pie-chart,.dark-mode .dashboard-site-data{transition:background-color .3s,color .3s}.dark-mode .dashboard-data-table,.dark-mode .dashboard-fault-level-card,.dark-mode .dashboard-pie-chart,.dark-mode .dashboard-site-data{background-color:#1e1e1e;color:#e0e0e0}.dashboard-data-table table{border-collapse:collapse;width:100%}.dashboard-data-table td,.dashboard-data-table th{border-bottom:1px solid #ddd;padding:12px}.dashboard-data-table tr:nth-child(2n){background-color:#f9f9f9}.dark-mode .dashboard-data-table tr:nth-child(2n){background-color:#333}.dark-mode .dashboard-header h1,.dark-mode .dashboard-header h2{color:#fff}.dark-mode button{background-color:#333;color:#fff}.dark-mode button:hover{background-color:#555}.dark-mode-toggle{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:20px;padding-right:20px}.dashboard-footer{color:#666;font-size:.85rem;padding:10px 0;text-align:center}@media (max-width:700px){.top-nav-bar{font-size:1rem;padding:8px 10px;text-align:center}.dashboard-header-container{align-items:stretch;flex-direction:column;gap:10px;text-align:center}.dashboard-header h1{font-size:4vh}.dashboard-header h2{font-size:2.5vh}.dashboard-grid{display:flex;flex-direction:column;gap:15px}.dashboard-data-table,.dashboard-fault-level-card,.dashboard-pie-chart,.dashboard-site-data{padding:15px;width:100%}.date-selection{align-items:center;flex-direction:column;font-size:3vh}.date-dropdown,.date-dropdown-menu{font-size:2.5vh}.dashboard-container,.dashboard-main{padding:10px}.metric-item .metric-value{font-size:1.1rem}.dashboard-notes-card{max-height:none;padding:10px;width:100%}.dashboard-data-table,.dashboard-fault-level-card,.dashboard-pie-chart,.dashboard-site-data{margin-bottom:15px}}.metric-combined-orange{background:linear-gradient(to bottom right,#fff5e6,#ffe5cc);border:1px solid #000;border-radius:4px;display:flex;flex-direction:column;margin:8px 0;padding:10px;text-align:center}.metric-combined-orange p{color:#ff8c42;font-weight:700;margin:4px 0}.metric-highlight-red{background:linear-gradient(to bottom right,#ffe6e6,#ffd1d1);border:2px solid #f33;border-radius:4px;box-shadow:0 4px 6px #ff333380;margin:8px 0;padding:10px;text-align:center;transition:box-shadow .2s ease-in-out}.metric-highlight-red:hover{box-shadow:0 8px 12px #f33c}.metric-highlight-red p{color:#f33;font-weight:700;margin:0}.metric-highlight-red .metric-value{color:#c00;font-size:1.8rem}.metric-combined-orange,.metric-highlight-red{box-shadow:0 4px 6px #0000001a}.metric-row{display:flex;gap:10px;justify-content:space-between;margin:8px 0}.metric-item{flex:1 1;text-align:center}.metric-item p:first-child:before{margin-right:5px}.metric-item .kWh-lost:before,.metric-item .panels-affected:before,.metric-item .revenue-lost:before{color:#f33}.metric-item .impacted-kw:before,.metric-item .percent-affected:before,.metric-item .site-location:before{color:#ff8c42}.metric-item .total-panels:before{color:#4caf50}.metric-item .total-faults:before{color:#f33}.metric-item .metric-value{color:#c00;font-size:1.3rem}.metric-item:hover{box-shadow:0 5px 10px #0003;transform:scale(1.03)}.level-box:hover,.metric-item:hover{transition:transform .2s ease-in-out,box-shadow .2s ease-in-out}.level-box:hover{box-shadow:0 8px 16px #0003;transform:scale(1.05)}@keyframes waveEffect{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}.metric-item.wave{animation:waveEffect .5s ease-in-out}.metric-item.wave-delay-0{animation-delay:0s}.metric-item.wave-delay-1{animation-delay:.1s}.metric-item.wave-delay-2{animation-delay:.2s}.metric-item.wave-delay-3{animation-delay:.3s}.dashboard-fault-level-card{align-items:center;background-color:#f5f5f5;border:3px solid #333;border-radius:8px;box-shadow:0 4px 12px #0000001a;grid-area:fault-level-breakdown;justify-content:space-between;overflow:hidden;padding:20px 30px 20px 20px;position:relative}.dashboard-fault-level-card h2{margin-bottom:10px}.levels-summary-vertical{display:flex;flex-direction:column;gap:20px}.level-box{border-radius:6px;box-shadow:0 4px 8px #0000001a;cursor:pointer;margin:10px auto;overflow:hidden;padding:15px 20px;text-align:center;transition:transform .2s ease,box-shadow .2s ease,max-height .4s ease,padding .3s ease;width:calc(100% - 40px)}.level-box h3{font-size:1.3em;font-weight:700;margin:0}.level-box .small-text{color:gray;font-size:.85em;margin-top:8px}.level-box.yellow{background-color:#ffffe0;border:1px solid #e6e600;color:#660}.level-box.orange{background-color:#fff3e6;border:1px solid #ffb347;color:#ff8c42}.level-box.red{background-color:#ffe5e5;border:1px solid #f66;color:#c00}.expanded-content{max-height:0;overflow:hidden;transition:max-height .4s ease}.level-box.expanded .expanded-content{max-height:500px}.expanded-content table{margin-top:10px;width:100%}.circle-row{align-items:center;display:flex;gap:5px;justify-content:space-between;padding:10px 0;width:100%}.circle{aspect-ratio:1;border-radius:50%;flex:1 1;max-width:15px}.green-circle{background-color:#4caf50}.red-circle{background-color:#f44336}.visual-row{align-items:center;display:flex;margin-bottom:10px}.inverter-block-label{font-weight:700;margin-right:10px;width:100px}.fade-enter-active{transition:opacity .3s ease-in}.fade-exit-active{transition:opacity .3s ease-out}.MuiButton-root{transition:background-color .2s ease}.MuiButton-root:hover{background-color:#0000001a}.MuiButton-root:focus{outline:2px solid #0000004d}.row-tooltip{background-color:#000c;border:1px solid #e7f5dc;border-radius:6px;box-shadow:0 4px 8px #0003;color:#ebe4c2;font-size:.9rem;padding:8px 12px;pointer-events:none;position:fixed;transition:opacity .2s ease;z-index:1000}.row-tooltip.hidden{display:none}.styled-textarea{border:1px solid #ccc;border-radius:8px;box-sizing:border-box;font-size:1rem;height:100px;padding:8px;resize:none;width:100%}.info-icon-container{cursor:pointer;position:absolute;right:10px;top:10px}.info-icon{align-items:center;border:1px solid #666;border-radius:50%;color:#666;display:inline-flex;font-size:1.2em;font-weight:700;height:18px;justify-content:center;transition:background-color .3s ease,transform .2s ease;width:18px}.info-icon:hover{background-color:#ddd;transform:scale(1.1)}.info-content{background-color:#f9f9f9;border:1px solid #ddd;border-radius:5px;box-shadow:0 2px 5px #0003;color:#333;font-size:.9em;line-height:1.4;padding:15px;text-align:left;transition:opacity .5s ease-in-out}.info-level{margin-bottom:20px}.info-level h4{color:#444;margin-bottom:10px}.info-content table{border-collapse:collapse;width:100%}.info-content table td{border:1px solid #ddd;padding:5px 10px;text-align:left}.info-content table td:first-child{color:#555;font-weight:700}.info-content h3{color:#222;margin-bottom:10px}.level-box{background-color:#fff;border:1px solid #ccc;border-radius:5px;margin-bottom:10px;padding:15px;transition:opacity .3s ease}.info-icon-container:hover~.levels-summary-vertical{opacity:0;pointer-events:none;transform:translateY(10px)}.info-icon-container:hover~.info-content{opacity:1;pointer-events:auto;transform:translateY(0)}.notes-container{background-color:#fffbed;background:#f9f9f9;border:1px solid #ddd;border-radius:5px;flex-grow:1;max-height:100px;min-height:100px;overflow-y:auto;padding:10px}.note-entry{border-bottom:1px solid #ddd;margin-bottom:5px;padding:10px}.note-author{color:#285335;font-size:.9em;font-weight:700}.note-content{font-size:1em;margin:5px 0}.note-timestamp{color:#666;font-size:.8em}.dashboard-header-container{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;width:100%}.dashboard-header{flex:1 1;min-width:300px}.dashboard-notes-card{background:#fcfcfc;border:3px solid #333;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;margin-bottom:10px;max-height:200px;padding:15px}.dashboard-notes-card button{color:#154724}.skeleton-box{animation:pulse 1.5s ease-in-out infinite;background-color:#e0e0e0;border-radius:8px}@keyframes pulse{0%{opacity:1}50%{opacity:.4}to{opacity:1}}.account-info-container{background-color:#f8f9fa;border-radius:8px;box-shadow:0 4px 8px #0000001a;margin:0 auto;max-width:600px;padding:20px}.account-info-container h2{color:#333;margin-bottom:20px;text-align:center}.account-info-container p{color:#555;font-size:18px;line-height:1.6}.account-info-container p strong{color:#222}input{border:1px solid #ccc;border-radius:4px;display:block;margin-bottom:10px;padding:8px;width:100%}button{background-color:#4caf50;margin-top:10px;padding:10px 20px}button:hover{background-color:#45a049}p{margin-top:10px}.account-info-page{min-height:100vh;position:relative}.back-button{background-color:#4caf50;border:none;border-radius:5px;bottom:20px;color:#fff;cursor:pointer;left:20px;padding:10px 20px;position:absolute}.back-button:hover{background-color:#45a049}body,html{height:100%;margin:0;overflow:auto;padding:0}.page-layout{height:100vh}.map-page,.page-layout{display:flex;flex-direction:column}.map-page{height:calc(100vh - 60px);overflow:hidden;position:relative;width:100vw}.map-container{flex-grow:1;height:100%;left:0;position:absolute;top:0;width:100%}.filter-menu{background-color:#ffffffe6;border:1px solid #ccc;border-radius:5px;box-shadow:0 4px 8px #0003;left:10px;padding:10px;position:absolute;top:10px;z-index:9999}.filter-menu h3{color:#333;font-size:16px;margin:0 0 10px;text-align:center}.filter-menu label{align-items:center;color:#333;display:flex;font-size:14px;margin-bottom:5px}.filter-menu input[type=checkbox]{margin-right:8px}.filter-menu input[type=range]{width:75%}.map-toolbar{background:#fffffff2;border:3px solid #333;border-radius:15px;box-shadow:0 2px 8px #0000001a;display:flex;gap:12px;padding:6px 10px;position:absolute;right:50%;top:10px;transform:translateX(50%);transition:right .3s ease-in-out,transform .3s ease-in-out;z-index:1001}.map-toolbar .map-button{align-items:center;background:#4d4d4d;border:none;border-radius:15px;box-shadow:0 4px 8px #0003;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;margin:0;transition:background .3s ease,transform .1s ease,box-shadow .3s ease;width:40px}.map-toolbar button svg{font-size:20px}.map-toolbar button:hover{background:#285335;box-shadow:0 4px 10px #2853354d;transform:scale(1.1)}.map-toolbar button:focus-visible{box-shadow:0 0 0 3px #28533580;outline:2px solid #285335;outline-offset:2px}.fault-modal,.filter-modal{background:#f1f1f1;border:3px solid #333;border-radius:10px;box-shadow:0 4px 10px #0003;font-weight:700;left:50%;min-width:300px;padding:16px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:opacity .4s ease;z-index:999}.fault-modal.level-level-1{background-color:#ffe68b}.fault-modal.level-level-2{background-color:#ffc29c}.fault-modal.level-level-3{background-color:#ffc1c1}.fault-modal .add-to-repair{background-color:#285335;color:#fffbed;margin-top:10px}.filter-item{align-items:center;display:flex;justify-content:space-between;padding:8px 0}.stats-sidebar{background-color:#fffbed;border:3px solid #333;border-radius:15px;box-shadow:-2px 0 5px #0003;display:flex;flex-direction:column;font-family:Arial,sans-serif;height:650px;margin-bottom:10px;margin-right:18px;margin-top:10px;max-height:700px;opacity:.05;padding:15px;position:absolute;right:0;top:50px;transition:opacity .5s ease-in-out,transform .3s ease;width:270px;z-index:10}.stats-sidebar:hover{opacity:.9}.stats-sidebar h3{font-size:28px;font-weight:900;margin-bottom:20px;text-align:center}.stats-sidebar td,.stats-sidebar th{border-bottom:1px solid #ddd;padding:8px;text-align:left}.stats-sidebar table{border-collapse:collapse;width:100%}.stats-sidebar td{border-bottom:1px solid #ddd;padding:8px}.stats-sidebar td:first-child{font-weight:700}.stats-table-total{margin-top:170px}.stats-table-container{border:1px solid #636363;border-radius:10px;flex:1 1;max-height:488px;overflow-y:auto}.stats-table-total{background-color:#fffbed;bottom:0;font-size:1.2em;font-weight:700;margin-top:auto;padding:10px;position:sticky;text-align:right}.stats-table-total a{color:#792f2f;font-size:2em;font-style:italic}.stats-table-total h5{font-size:.8em}.repair-queue-dropdown{font-family:Arial,sans-serif;left:10px;position:absolute;top:10px;z-index:10}.repair-queue-button{align-items:center;background-color:#285335;border:3px solid #333;border-radius:10px;box-shadow:0 4px 8px #0003;color:#fff;cursor:pointer;display:flex;font-weight:700;gap:8px;justify-content:space-between;padding:8px 12px;width:320px}.repair-queue-button:hover{background-color:#1e4027}.repair-queue-button .arrow{transition:transform .3s ease}.repair-queue-button .arrow.open{transform:rotate(180deg)}.repair-queue-list{max-height:0;opacity:0;overflow:hidden;transform:scaleY(.95);transform-origin:top;transition:max-height .4s ease,opacity .3s ease,transform .3s ease}.repair-queue-entry{align-items:center;background-color:#fff;border-radius:6px;cursor:pointer;display:flex;font-family:Arial,sans-serif;font-weight:700;height:45px;justify-content:space-between;padding:5px 8px;transition:background-color .45s}.left-indicator{background-color:#f97316;border-radius:2px;height:60%;margin-right:8px;transition:opacity .3s;width:4px}.repair-queue-entry:not(.selected) .left-indicator{opacity:0}.repair-queue-entry:hover{background-color:#d3d3d3;cursor:pointer;transform:scale(1.01);transition:background-color .45s ease,transform .5s ease}.repair-queue-entry.selected{background-color:#a3a3a3;color:#252525;font-weight:700}.repair-queue-entry.selected button{background-color:#e05600}.repair-queue-date{display:flex;flex-grow:1;gap:8px;line-height:1;padding-left:3px;position:relative;transition:all .3s ease}.date-text{left:0}.date-text,.hover-text{position:absolute;top:50%;transform:translateY(-50%);transition:opacity .3s ease}.hover-text{right:10px}.hover-content{align-items:center;display:flex;gap:4px}.fade-in{opacity:1;pointer-events:auto}.fade-out{opacity:0;pointer-events:none}.repair-queue-date-wrapper{background-color:#fff;border-bottom:1px solid #ddd;border-radius:10px;box-shadow:0 1px 2px #0000000d;margin-bottom:6px;max-height:70px;overflow:hidden}.repair-queue-list.open{background-color:#d1cec2;border:3px solid #333;border-radius:15px;box-shadow:0 4px 15px #0003;display:block;font-family:Arial,sans-serif;margin-top:5px;max-height:1000px;opacity:1;padding:10px;transform:scaleY(1)}.expand-btn{align-items:center;background-color:#696969;border-radius:4px;color:#333;display:flex;height:30px;justify-content:center;margin:0;top:50%;transition:background-color .3s ease;width:44px}.expand-btn:hover{transform:scale(1.1)}.expand-btn.rotated{transform:rotate(90deg)}.expand-btn svg{display:block;height:20px;width:20px}.repair-queue-panel-list{color:#333;font-size:14px;padding-left:10px;padding-top:5px}.repair-queue-panel-list ul{margin:0;padding-left:15px}.repair-queue-add-button{background-color:#285335;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;margin-top:10px;padding:8px;text-align:center}.repair-queue-add-button:hover{background-color:#162e1c}.select-area-btn{align-items:center;background-color:#f0f8ff;border-top:1px solid #ccc;color:#333;cursor:pointer;display:flex;font-size:14px;font-weight:500;font-weight:700;gap:6px;justify-content:center;margin-top:.5rem;padding:8px;text-align:center;transition:background-color .2s ease}.select-area-btn:hover{background-color:#e0b000}.select-area-btn.active{background-color:#bb3b3b}.area-select-tutorial{background-color:#fffbed;border:3px solid #333;border-radius:10px;box-shadow:0 2px 5px #0000001a;color:#333;font-size:14px;font-weight:700;left:10px;opacity:0;padding:12px;pointer-events:auto;position:absolute;top:400px;transition:opacity .5s ease-in-out;width:320px;z-index:10}.area-select-tutorial.show{opacity:1;transition:opacity .5s ease-in-out}.area-select-tutorial.show.fade{opacity:.5}.area-select-tutorial:hover{opacity:1!important}.repair-queue-scrollable{margin-bottom:10px;max-height:200px;overflow-y:auto;padding-right:5px}.repair-queue-scrollable::-webkit-scrollbar{width:6px}.repair-queue-scrollable::-webkit-scrollbar-thumb{background-color:#bbb;border-radius:3px}.skeleton .skeleton-button{background-color:#ccc;border-radius:6px;height:36px;margin:.3rem;width:36px}.skeleton .skeleton-table{background-color:#ddd;border-radius:8px;height:100px;margin-top:10px}.skeleton .skeleton-stats{margin-top:1rem}.skeleton .skeleton-bar{background-color:#ccc;border-radius:4px;height:20px;margin:.4rem 0}.skeleton .skeleton-bar.small{background-color:#ddd;height:16px;width:80%}.panel-repair-modal-backdrop{align-items:center;background-color:#0009;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:999}.panel-repair-modal-content{background-color:#fffbed;border:3px solid #333;border-radius:12px;display:flex;flex-direction:column;margin-top:150px;max-height:55vh;overflow:hidden;padding:20px;width:500px}.panel-repair-modal-content button{align-items:center;background-color:#285335;border:3px solid #333;border-radius:10px;box-shadow:0 4px 8px #0003;color:#fff;cursor:pointer;display:flex;gap:5px;justify-content:space-between;max-width:15%;padding:8px 12px;right:0;transition:opacity .4s ease}.panel-repair-list{border-radius:5px;list-style:none;margin:0;max-height:65vh;overflow-y:auto;padding:0}.panel-repair-item{background-color:#fff;border:2px solid #ddd;border-radius:10px;box-shadow:0 2px 4px #0000001a;margin-bottom:12px;padding:12px;position:relative}.panel-repair-item .delete-panel-btn{background:#0000!important;border:none!important;box-shadow:none!important;color:#b22222!important;cursor:pointer;opacity:0;padding:0!important;position:absolute;right:8px;top:8px;transition:opacity .3s ease}.panel-repair-item:hover .delete-panel-btn{opacity:1}.panel-meta{color:#333;font-size:14px;margin-top:8px}.panel-meta p{margin:4px 0}.panel-repair-list::-webkit-scrollbar{width:8px}.panel-repair-list::-webkit-scrollbar-thumb{background-color:#0003;border-radius:4px}.repair-modal-buttons{display:flex;justify-content:space-between;margin-top:10px}.repair-modal-buttons button{border-radius:8px;cursor:pointer;font-weight:700;height:40px;padding:8px 16px;transition:background-color .3s ease}.repair-modal-buttons .export-button{align-items:center;background-color:#285335;border:3px solid #333;color:#fff;display:flex;gap:6px;min-width:140px}.repair-modal-buttons .export-button:hover{background-color:#636363}.repair-modal-buttons .close-button{background-color:initial;border:none;border-radius:3px;box-shadow:none!important;color:#333;cursor:pointer;font-size:14px;font-weight:700;padding:8px 12px;text-transform:uppercase;transition:background-color .4s ease,opacity .4s ease,color .3s ease}.repair-modal-buttons .close-button:hover{background-color:#852424;border-radius:4px;color:#a1a1a1;opacity:.7}.area-select-confirm-panel{background:linear-gradient(270deg,#e8f5e9,#a5d6a7,#81c784);background-size:600% 600%;border:3px solid #333;border-radius:10px;box-shadow:0 3px 8px #0003;display:flex;gap:10px;left:340px;max-height:50px;padding:10px 15px;position:absolute;top:329px;z-index:999}.confirm-btn{background-color:#285335;border:2px solid #333;border-radius:6px;color:#fff;cursor:pointer;font-weight:700;height:30px;padding:6px 12px;transform:translateY(-40%)}@media (max-width:768px){.map-page{height:auto;overflow:visible;width:100vw}.map-container{height:70vh;position:relative;width:100%}.map-toolbar{border-radius:10px;flex-direction:column;gap:8px;left:auto;padding:8px;right:10px;top:10px;transform:none}.map-toolbar .map-button{font-size:22px;height:50px;width:50px}.stats-sidebar{display:none}.stats-table-container{max-height:300px;overflow-y:auto}.fault-modal,.filter-modal{max-width:95%;min-width:0;min-width:auto;padding:16px;width:90%!important}.fault-modal .add-to-repair{display:none}.filter-item{align-items:flex-start;flex-direction:column}.filter-item label{margin-bottom:5px}.stats-table-total{text-align:center}.panel-repair-modal-backdrop,.panel-repair-modal-content,.repair-queue-dropdown{display:none!important}}.loading-screen{background-color:#fffbed;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.loading-screen,.plane-animation{align-items:center;display:flex;flex-direction:column}.plane-animation{position:relative}.plane-animation p{color:#333;font-size:35px;margin-top:100px;text-align:center}.plane{animation:movePlane 2s linear forwards;bottom:110px;height:auto;left:0;transform-origin:center center;width:80px}.dot,.plane{position:absolute}.dot{animation:fadeInOutDot 1s forwards;background-color:#333;border-radius:50%;bottom:140px;height:5px;opacity:0;width:5px}.dot-1{animation-delay:0s;left:0}.dot-2{animation-delay:.1s;left:5%}.dot-3{animation-delay:.2s;left:10%}.dot-4{animation-delay:.3s;left:15%}.dot-5{animation-delay:.4s;left:20%}.dot-6{animation-delay:.5s;left:25%}.dot-7{animation-delay:.6s;left:30%}.dot-8{animation-delay:.7s;left:35%}.dot-9{animation-delay:.8s;left:40%}.dot-10{animation-delay:.9s;left:45%}.dot-11{animation-delay:1s;left:50%}.dot-12{animation-delay:1.1s;left:55%}.dot-13{animation-delay:1.2s;left:60%}.dot-14{animation-delay:1.3s;left:65%}.dot-15{animation-delay:1.4s;left:70%}.dot-16{animation-delay:1.5s;left:75%}.dot-17{animation-delay:1.6s;left:80%}.dot-18{animation-delay:1.7s;left:85%}.dot-19{animation-delay:1.8s;left:90%}.dot-20{animation-delay:1.9s;left:95%}@keyframes fadeInOutDot{0%{opacity:0}30%{opacity:1}70%{opacity:1}to{opacity:0}}@keyframes movePlane{0%{left:0;opacity:.2}10%{opacity:1}90%{opacity:1}95%{opacity:.2}to{left:100%;opacity:0}}.flash{animation:flashEffect 4s linear infinite;height:auto;opacity:0;position:absolute;width:30px}@keyframes flashEffect{0%,10%{opacity:0}12%{bottom:80px;left:30%;opacity:1;transform:translateX(20px) rotate(225deg)}18%{opacity:0}to{opacity:0}}.loading-screen.fade-in{opacity:1;transition:opacity .4s ease-in}.loading-screen.fade-out{opacity:0;transition:opacity .4s ease-out}.fault-data-table{border-collapse:collapse;margin:0 auto;text-align:center;width:80%}.fault-data-table h3{font-size:2.2em;margin-bottom:10px;margin-top:20px;text-align:left}.fault-data-table table{border:3px solid #0d200b;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin-top:20px;overflow:hidden;width:100%}.fault-data-table th{background:linear-gradient(180deg,#fffbed,#646464);border-bottom:3px solid #585858;color:#505050;font-size:.9em;font-weight:700;letter-spacing:.05em;padding:10px;text-transform:uppercase}.fault-data-table td{background-color:#fefefe;background-color:#fafafa;border:1px solid #3f3f3f;border:1px solid #ddd;padding:10px}.fault-data-table tr:nth-child(2n) td{background-color:#f9f9f9}.fault-data-table tr:hover td{background-color:#e9e9e9}.export-button{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:.8rem;font-size:.9rem;height:40px;padding:10px;padding:10px 16px;transition:background-color .5s ease,transform .4s ease}.filter-and-export{background:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000001a;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.filter-section{background-color:#ececec;border:2px solid #333;border-radius:5px;box-shadow:0 4px 10px #0a2b0e33;display:flex;flex-wrap:wrap;gap:20px;justify-content:space-between;margin:15px auto;padding:10px;width:98%}.filter-section h2{font-size:2em;margin:4px}.filter-section .MuiFormControl-root{min-width:150px}.filter-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-start}@media (max-width:708px){.fault-data-table{overflow-x:auto;padding:0 5px;width:95%}.fault-data-table h3{font-size:1.2em;margin:8px 0;text-align:center}.fault-data-table table{font-size:1.2em;margin-top:8px;width:100%}.fault-data-table td,.fault-data-table th{font-size:.75em;padding:6px;white-space:nowrap}.filter-and-export{align-items:center;flex-direction:column;gap:8px;padding:8px}.filter-section{background-color:#f9f9f9;border-radius:8px;font-size:1em;margin:6px auto;padding:8px;width:95%}.filter-section h2{font-size:1.3em;margin-bottom:8px;text-align:center}.filter-controls{align-items:center;flex-direction:column;gap:6px;width:100%}.filter-controls button.export-button{font-size:.9em;padding:6px 0;width:100%}.filter-controls .MuiFormControl-root{margin-bottom:6px;max-width:none!important;width:100%!important}.filter-controls .MuiInputBase-root{font-size:.75em!important;padding:4px 8px!important}.filter-controls .MuiFormLabel-root{font-size:.7em!important;margin-bottom:2px}.export-button{font-size:.9em;justify-content:center;padding:6px 0;width:100%}}.page-layout{background-color:#fffbed}.revenue-impact-bar{align-items:center;background-color:#dbdbdb;border-radius:8px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;margin-bottom:20px;padding:20px}.impact-metrics{gap:20px;justify-content:space-between;padding:10px;width:100%}.impact-metrics,.metric-box{align-items:center;display:flex}.metric-box{background-color:#f7f7f7;border-radius:8px;box-shadow:0 2px 6px #0000001a;flex:1 1;flex-direction:column;justify-content:center;padding:15px 20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.metric-box:hover{box-shadow:0 4px 12px #0003;transform:scale(1.05)}.metric-icon{color:#f55;font-size:1.5rem;margin-bottom:5px}.metric-text span{color:#444;font-size:1.1em}.main-figure{color:#333;font-size:2em;font-weight:700;margin-bottom:10px}.main-figure-container{align-items:center;background-color:#f7f7f7;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;justify-content:center;padding:15px 20px;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.main-figure-container:hover{box-shadow:0 4px 12px #0003;transform:scale(1.03)}.main-figure-label{color:#555;font-size:1.2em;margin-bottom:5px}.revenue-filter{align-items:center;background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;justify-content:center;margin:20px 0;padding:10px 20px}.revenue-filter label{font-size:1.1em;font-weight:700;margin-bottom:5px}.revenue-filter span{color:#555;font-size:1em;margin-top:5px}.revenue-filter input[type=range]{margin:0 10px;width:200px}.toggle-section{display:flex;justify-content:center;margin:20px 0}.toggle-section button{background-color:#285335;border:none;border-radius:20px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-weight:700;padding:12px 18px;transition:background-color .3s ease}.toggle-section button:hover{background-color:#0056b3}.fault-revenue-table{border-collapse:collapse;margin:0 auto;text-align:center;width:80%}.fault-revenue-table h3{font-size:1.4em;margin-bottom:10px;text-align:center}.fault-revenue-table table{border-collapse:collapse;border-radius:8px;margin-top:20px;overflow:hidden;width:100%}.fault-revenue-table th{background:linear-gradient(180deg,#fffbed,#646464);border-bottom:3px solid #585858;color:#505050;font-size:.9em;font-weight:700;letter-spacing:.05em;padding:10px;text-transform:uppercase}.fault-revenue-table td{background-color:#fefefe;background-color:#fafafa;border:1px solid #ddd;padding:10px}.fault-revenue-table tr:nth-child(2n) td{background-color:#f9f9f9}.fault-revenue-table tr:hover td{background-color:#e9e9e9}.horizontal-slider{margin:15px 0;padding:5px 0;width:400px}.thumb{background-color:#000;border:2px solid #333;border-radius:50%;box-shadow:0 0 5px #0003;cursor:pointer;height:18px;position:relative;top:0;width:18px}.track{background-color:#285335;border-radius:3px;height:6px}.horizontal-slider:hover .thumb{background-color:#696969}.toggle-and-filter-section{background-color:#f9f9f9;border-radius:8px;box-shadow:0 2px 6px #0000001a;margin:20px 0;max-height:300px;opacity:1;overflow:hidden;padding:15px 20px;transform:scaleY(1);transition:opacity .3s ease,transform .3s ease,max-height .5s ease}.toggle-and-filter-section.hidden{max-height:0;opacity:.9;transform:scaleY(.5)}.toggle-filter-button{background-color:#f9f9f9;border:none;box-shadow:0 2px 6px #0000001a;color:#333;gap:8px;margin-right:5px}.export-button,.toggle-filter-button{align-items:center;border-radius:8px;cursor:pointer;display:flex;font-size:.8rem;height:33px;padding:8px 16px;transition:background-color .3s ease,transform .3s ease}.toggle-filter-button:hover{background-color:#285335;transform:scale(1.05)}.revenue-filter-inline{align-items:center;background-color:#fffbed;border-radius:8px;box-shadow:0 2px 6px #0000001a;display:flex;flex-direction:column;margin-top:10px;opacity:1;padding:10px;transform:translateY(0);transition:opacity .3s ease,transform .3s ease}.revenue-filter-inline.hidden{opacity:0;pointer-events:none;transform:translateY(-10px)}.revenue-filter-inline label{color:#333;font-size:1.1em;font-weight:700;margin-bottom:5px;text-align:center}.revenue-filter-inline span{color:#555;font-size:1em;margin-top:5px;text-align:center}.export-modal{background:#fffbed;border-radius:8px;display:flex;flex-direction:column;gap:10px;padding:20px}.export-button{background-color:#285335;border:none;color:#fff;margin-right:10px;transition:transform .2s ease-in-out}.export-button:hover{transform:scale(.98)}.filter-and-export{align-items:center;display:flex;gap:10px;justify-content:flex-end}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media (max-width:708px){.revenue-impact-bar{margin-bottom:15px;padding:10px}.revenue-impact-bar h2{font-size:1.2em;margin-bottom:10px;text-align:center}.impact-metrics{align-items:center;flex-direction:column;gap:10px}.main-figure-container,.metric-box{border-radius:6px;box-shadow:0 2px 4px #0000001a;padding:8px 10px;width:95%}.metric-icon{font-size:1.2rem;margin-bottom:5px}.metric-text span{font-size:.9em}.main-figure{font-size:1.4em;margin-bottom:5px}.main-figure-label{font-size:1em;margin-bottom:5px}}.header-bar{align-items:center;background-color:#fff;display:flex!important;height:95px;justify-content:space-between;opacity:1!important;padding:10px;position:relative;visibility:visible!important;z-index:1000}.logo-section{align-items:center;display:flex;margin-right:auto}.logo-section img{height:60px;width:auto}.site-logo.hover-effect{transition:transform .2s ease-in-out}.site-logo.hover-effect:hover{transform:scale(.9)}.settings-section{height:75px;justify-content:center;margin-left:auto;margin-right:25px;padding:10px 0;position:relative;width:400px}.display-mode,.settings-section{align-items:flex-end;display:flex;flex-direction:column}.display-mode{gap:5px;position:absolute;right:0;top:10px;width:100%}.display-mode p{font-size:.9rem;margin:0}.spinner-icon{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;display:inline-block;height:16px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.edit-button{align-items:center;background:none;border:none;border-radius:4px;color:#324d34;cursor:pointer;display:flex;font-size:.8rem;gap:4px;margin-bottom:5px;margin-top:8px;max-width:65px;padding:4px 8px;transition:background-color .2s ease}.edit-button:hover{background-color:#324d341a;text-decoration:underline}.account-icon-section{align-items:center;border-radius:3px;display:flex;justify-content:center}.account-info-button{align-items:center;background-color:#4cb050!important;border:none;border-radius:5px;color:#fff;cursor:pointer;display:flex;padding:10px;transition:background-color .3s ease}.account-info-button:hover{background-color:#005704!important}.account-info-button span{color:#fff;font-size:16px;margin-left:10px}.account-icon{cursor:pointer;height:auto;width:30px}.edit-mode{display:flex;flex-direction:column;gap:8px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:100%}.edit-row{align-items:center;display:flex;gap:25px;margin:0}.edit-buttons{display:flex;flex-direction:column;gap:8px;margin-right:25px;margin-top:2px}.edit-buttons button:first-child{background-color:#4caf50}.edit-buttons button:last-child{background-color:#fff;border:1px solid #ccc;color:#333;padding:6px 16px}.edit-buttons button:last-child:hover{background-color:#f5f5f5}.input-group{display:flex;flex-direction:column;gap:12px;margin-left:-30px}.input-field{align-items:center;display:flex;gap:10px}.edit-row label{font-weight:700;min-width:180px;white-space:nowrap}.edit-row input{border:1px solid #ccc;border-radius:4px;padding:5px;width:80px}button{background-color:#868686;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:8px 16px;white-space:nowrap}button:disabled{background-color:#ccc;cursor:not-allowed}button:hover:not(:disabled){background-color:#767676}.error-message{background-color:#ffe6e6;border:1px solid red;border-radius:4px;color:#f33}.error-message,.success-message{margin-top:10px;padding:8px;text-align:center}.success-message{background-color:#e8f5e9;border:1px solid #4caf50;border-radius:4px;color:#4caf50}.fade-enter{opacity:0;transform:translateY(-10px)}.fade-enter-active{transition:opacity .3s ease-in,transform .3s ease-in}.fade-enter-active,.fade-exit{opacity:1;transform:translateY(0)}.fade-exit-active{opacity:0;transform:translateY(10px);transition:opacity .3s ease-out,transform .3s ease-out}@media (max-width:768px){.header-bar{align-items:center;flex-direction:row;height:auto;justify-content:space-between;padding:10px 20px}.logo-section{align-items:center;display:flex;justify-content:flex-start;margin:0}.logo-section img{height:40px;width:auto}.settings-section{align-items:center;flex-direction:row;justify-content:flex-end;margin:0;padding:0;width:auto}.display-mode,.edit-button,.edit-buttons,.edit-mode,.edit-row{display:none}.account-info-button{background-color:#4cb050!important;font-size:.9rem;padding:8px 12px}.header-animation{display:none}}.top-nav-bar{align-items:center;background-color:#3a3a3a;box-shadow:0 2px 5px #00000026;display:flex;justify-content:center;padding:10px 50px;position:sticky;position:relative;top:0;width:100%;z-index:10}.left-nav{left:10px}.left-nav,.right-nav{align-items:center;display:flex;padding-bottom:10px;position:absolute}.right-nav{right:10px}.nav-bar-export-btn{align-items:center;background-color:#d9534f;border:1px solid #fffbed;border-radius:12px;cursor:pointer;display:flex;font-size:18px;height:48px;justify-content:center;transition:background-color .3s,transform .2s;width:48px}.nav-bar-export-btn:hover{background-color:#c9302c;transform:translateY(-2px)}.site-list-btn{align-items:center;background-color:#666;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:16px;gap:8px;padding:10px 14px;transition:background-color .3s,transform .2s ease}.site-list-btn:hover{background-color:#ec8600!important;border:1px solid #fffbed;transform:translateX(-3px) scale(.95)}.top-nav-bar ul{align-items:center;display:flex;justify-content:space-between;list-style:none;margin:0;padding:0;width:55%}.top-nav-bar li{align-items:center;border-radius:10px;display:flex}.top-nav-bar li button{align-items:center;background-color:#4cb050;border:none;border-radius:10px;color:#fff;cursor:pointer;display:flex;font-size:16px;gap:8px;margin:5px 0;padding:10px;transition:background-color .3s,transform .2s}.top-nav-bar li button:hover{background-color:#005704;transform:translateY(-2px)}.top-nav-bar li button:focus{box-shadow:0 0 4px #ffffff80;outline:none}.top-nav-bar li button .fa-icon{font-size:1.2em}@media (max-width:700px){.top-nav-bar{align-items:center;flex-direction:row;justify-content:space-around;padding:5px 10px}.left-nav,.right-nav{display:none}.top-nav-bar ul{align-items:center;flex-direction:row;gap:0;justify-content:space-around;width:100%}.top-nav-bar li{margin:0;width:auto}.top-nav-bar li button{align-items:center;display:flex;font-size:1.5em;height:40px;justify-content:center;padding:0;width:40px}.top-nav-bar li button span{display:none}}.top-nav-bar li button.active-nav{font-weight:700;position:relative}.top-nav-bar li button.active-nav:after{background-color:#797979;border-radius:2px;bottom:-8px;content:"";height:3px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:70%}.exporter.new-layout.two-col{grid-gap:20px;display:grid;gap:20px;grid-template-columns:320px 1fr;padding:16px}.left-col{align-items:stretch;display:flex;flex-direction:column;gap:14px;height:calc(100vh - 32px);position:sticky;top:16px}.left-col>*{width:100%}.page-pills{order:0}.templates-box{order:1}.history-sidebar{flex:1 1 auto;min-height:0;order:2;overflow:auto}.page-title{color:#333;font-size:20px;line-height:1;margin:0}.right-col{grid-gap:16px;display:grid;gap:16px;grid-template-rows:auto 1fr}.item-picker,.templates-box{background:#fff;border:3px solid #333;border-radius:12px;box-shadow:0 6px 16px #00000014;padding:12px}.left-col>.templates-box{height:auto;max-height:none}.box-title{font-weight:700;margin-bottom:8px}.preset-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr}.preset-btn{background:#f8f8f8;border:1px solid #1f1800;border-radius:8px;color:#333;cursor:pointer;font-size:12px;font-weight:700;height:36px;transition:background-color .3s,transform .2s}.preset-btn:hover{background:#005704!important;color:#fffbed;transform:translateY(-5px)}.context{font-size:13px;margin-top:10px}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.history-sidebar.inset{background:#1f1f1f;border-radius:12px;color:#eee;flex:1 1 auto;min-height:0;order:2;overflow:auto;padding:12px}.history-title{font-weight:700;margin-bottom:8px}.history-list{grid-gap:8px;display:grid;gap:8px;list-style:none;margin:0;padding:0}.history-list li{grid-gap:8px;align-items:center;background:#242424;border:1px solid #333;border-radius:10px;display:grid;gap:8px;grid-template-columns:1fr auto;padding:8px}.history-list li.active{outline:2px solid #4cb050}.history-item{background:none;border:none;color:inherit;cursor:pointer;text-align:left}.history-item .name{font-weight:600}.history-item .sub{font-size:12px;opacity:.7}.history-del{background:none;border:1px solid #444;border-radius:8px;color:#bbb;cursor:pointer;height:28px;width:28px}.history-del:hover{background:#c9302c;border-color:#c9302c;color:#fff}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:#fafafa;border:2px solid #333;border-radius:999px;color:#333;cursor:pointer;font-weight:700;padding:6px 10px;transition:background-color .3s,transform .2s}.chip:hover{background-color:#005704!important;color:#fffbed;transform:translateY(-2px)}.chip.on{background:#e9f7ec;border-color:#cfead6}.hint{color:#777;font-size:12px;margin-top:6px}.preview-board{background:repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#f6f6f6 0,#f6f6f6 20px);border-radius:14px;box-shadow:inset 0 0 0 1px #ececec;padding:16px;position:relative}.preview-head{background:#fff;border:1px solid #ececec;border-radius:999px;color:#666;font-size:12px;left:16px;padding:2px 8px;position:absolute;top:-10px}:root{--page-w:210mm;--page-h:297mm;--page-margin:12mm}.preview-board .export-page{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026,0 0 0 1px #0000000f;box-sizing:border-box;height:297mm;height:var(--page-h);margin:0 auto;position:relative;width:210mm;width:var(--page-w)}.preview-board .export-page:after{border:1px dashed #e9e9e9;border-radius:8px;content:"";inset:8px;pointer-events:none;position:absolute}.xp-section{border:1px dashed #0000;border-radius:10px;margin-bottom:2px;padding:10px 10px 12px;position:relative;transition:border-color .15s ease,background-color .15s ease}.xp-section.active{background:#fff;border-color:#e0e0e0}.sec-toolbar{align-items:center;background:#fffbed;border:1px solid #333;border-radius:8px;box-shadow:0 1px 2px #0000000d;display:flex;gap:8px;opacity:0;padding:4px 6px;pointer-events:none;position:absolute;right:8px;top:-8px;transform:translateY(-4px);transition:opacity 1s ease,transform .5s ease;z-index:992}.sec-toolbar.fade-in{animation:fadeIn .25s ease forwards;opacity:0}.xp-section.active .sec-toolbar{opacity:1;pointer-events:auto;transform:translateY(0)}.sec-title{color:#555;font-size:12px;font-weight:600}.sec-actions{align-items:center;display:flex;gap:6px}.sec-actions .report-icon-btn{all:unset;align-items:center;border-radius:6px;color:#333;cursor:pointer;display:inline-flex;height:28px;justify-content:center;transition:background-color .3s ease,transform .5s ease;width:28px}.sec-actions .report-icon-btn:hover{background:#676767;color:#d5d5d5;transform:translateY(1px)}.sec-actions .report-icon-btn svg{font-size:18px;line-height:1}.actions-row{--picker-h:110px;grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr 240px}.actions-row .item-picker{display:flex;flex-direction:column;height:var(--picker-h);overflow:hidden;width:980px}.export-cta{align-items:center;display:grid;justify-items:stretch}.export-btn{background:#2e7d32;border:2px solid #1d6a2e;border-radius:12px;box-shadow:0 4px 10px #0000001f;color:#fffbed;cursor:pointer;font-size:16px;font-weight:700;height:50px;transition:transform .08s ease,filter .12s ease;width:140px}.export-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.export-btn:active:not(:disabled){transform:translateY(0)}.export-btn:disabled{cursor:not-allowed;opacity:.6}.export-note{color:#666;font-size:12px;margin-top:6px;text-align:center}@media (max-width:900px){.actions-row{grid-template-columns:1fr}.export-btn{height:56px}}@media print{.export-mode .actions-row,.export-mode .left-col,.export-mode .preview-head{display:none!important}.export-mode .preview-board{box-shadow:none!important;padding:0!important}.export-mode .preview-board .export-page{box-shadow:none!important;height:297mm!important;height:var(--page-h)!important;margin:0!important;width:210mm!important;width:var(--page-w)!important}}.edit-panel{background:#fafafa;border:1px solid #eee;border-radius:8px;margin:8px 0 12px;padding:10px}.edit-panel .row{align-items:center;display:flex;gap:8px;margin:6px 0}.edit-panel label{color:#666;font-size:12px;width:60px}.edit-panel input[type=text]{border:1px solid #ddd;border-radius:6px;flex:1 1;height:32px;padding:0 8px}.edit-panel input[type=range]{width:180px}.seg{display:inline-flex;gap:6px}.seg-btn{background:#fff;border:1px solid #333;border-radius:6px;color:#333;cursor:pointer;font-size:12px;padding:4px 10px}.seg-btn.on{background:#e9f7ec;border:1px solid #333}.kpi-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(4,minmax(140px,1fr))}.kpi-label{font-size:12px;opacity:.7}.kpi-val{font-size:20px;font-weight:700}.xp-table{border-collapse:collapse;font-size:12px;width:100%}.xp-table td,.xp-table th{border:1px solid #e6e6e6;padding:8px}.placeholder{background:#fafafa;border:1px dashed #cfcfcf;border-radius:8px;color:#777;display:grid;height:200px;place-items:center}.placeholder-big{background:#fafafa;border:1px dashed #cfcfcf;border-radius:12px;color:#777;display:grid;height:60%;place-items:center}.skeleton{animation:shine 1.2s infinite;background:linear-gradient(90deg,#eee 25%,#f6f6f6 37%,#eee 63%);background-size:400% 100%;border-radius:8px;height:160px}.skeleton.tall{height:280px}.skeleton.map{height:260px}@keyframes shine{0%{background-position:100% 0}to{background-position:-100% 0}}@media (max-width:900px){.exporter.new-layout.two-col{grid-template-columns:1fr}.left-col{height:auto;position:static}}.edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.edit-actions .btn{border:1px solid #ddd;border-radius:8px;cursor:pointer;font-size:12px;padding:6px 10px}.edit-actions .btn.save{background:#2e7d32;border-color:#2e7d32;color:#fff}.edit-actions .btn.save:hover{background:#256628}.edit-actions .btn.cancel{background:#fff;border-color:#e1a5a3;color:#c9302c}.edit-actions .btn.cancel:hover{background:#fce8e8}.page-pills{display:flex;gap:10px;margin-bottom:7px;width:100%}.pill{background:#fafafa;border:2px solid #333;border-radius:10px;color:#333;cursor:pointer;flex:1 1;font-size:12px;font-weight:700;padding:10px 12px;text-align:center;transition:background-color .3s,transform .2s;white-space:nowrap}.pill:hover{background-color:#005704!important;color:#fffbed;transform:translateY(-2px)}.pill.on{background:#333;color:#fffbed}.cover-page{height:100%;padding:24px;position:relative}.cover-canvas{align-items:center;display:flex;flex-direction:column;text-align:center}.cover-page .cover-canvas{margin-top:0}.cover-page:has(.cv-toptools) .cover-canvas{margin-top:64px}.cover-canvas.drag{background:#f7fff9;outline:2px dashed #cfead6}.cv-el{position:relative;text-align:center}.cv-img-el{display:block;height:auto}.cv-toptools{align-items:center;background:#fffffff2;border:1px solid #e5e5e5;border-radius:10px;box-shadow:0 2px 8px #0000000f;display:flex;gap:8px;margin:-8px -8px 12px;padding:8px 10px;position:sticky;top:0;z-index:2}.cv-el.active{outline:1px dashed #c9c9c9;outline-offset:6px}.cv-el.active .cv-tools{opacity:1;pointer-events:auto;transform:translateY(0)}.cv-tool{align-items:center;background:#fff;border:1px solid #eee;border-radius:6px;display:inline-flex;font-size:12px;gap:6px;padding:3px 6px}.cv-del{border:1px solid #d33;border-radius:6px;color:#d33;padding:3px 8px}.cv-close,.cv-del{background:#fff;cursor:pointer}.cv-close{align-items:center;border:1px solid #aaa;border-radius:6px;color:#333;display:flex;font-size:16px;font-weight:700;height:24px;justify-content:center;width:24px}.cv-text-input{background:#0000;border:none;box-sizing:border-box;font-family:inherit;outline:none;overflow:hidden;padding:2px 0;resize:none;text-align:inherit;width:100%}.cv-text-block{line-height:1.15;margin:0 auto;max-width:85%;overflow-wrap:anywhere;padding:2px 0;white-space:pre-wrap;word-break:break-word}.cover-controls button{margin:0 6px}.cover-footer-fixed{bottom:16px;font-size:12px;position:absolute;right:24px}.cover-page.is-export .cv-toptools,.export-doc .cv-add,.export-doc .cv-tools,.export-doc .cv-toptools{display:none!important}.toc-page{padding:32px 24px}.toc-title{margin:0 0 12px}.toc-list{grid-gap:6px;display:grid;gap:6px;list-style:none;margin:12px 0 16px;padding:0}.toc-list li{grid-gap:8px;align-items:center;display:grid;font-size:14px;gap:8px;grid-template-columns:1fr auto 32px}.toc-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toc-dots{background-image:radial-gradient(currentColor 1px,#0000 0);background-repeat:repeat-x;background-size:6px 1px;height:1px;opacity:.35}.toc-page-num{color:#555;text-align:right}@media print{@page{size:210mm 297mm;size:var(--page-w) var(--page-h);margin:12mm;margin:var(--page-margin)}.preview-board,.preview-head{background:none!important;box-shadow:none!important}.export-page{border-radius:0;box-shadow:none!important}.page-pills,.sec-toolbar{display:none!important}.xp-section{background:#0000;border:none}.xp-section .muted,.xp-section h1,.xp-section textarea{padding-left:4px;padding-right:4px}.page{break-after:page;page-break-after:always}img{image-rendering:-webkit-optimize-contrast}}.image-display{background:#f5f5f5;border:2px dashed #333;border-radius:12px;cursor:grab;height:650px;margin:10px auto;overflow:hidden;overscroll-behavior:contain;position:relative;touch-action:none;-webkit-user-select:none;user-select:none;width:650px}.image-display.grabbing{cursor:grabbing}.image-display:hover{border-color:#64562b}.image-display:after{border:2px dashed #fffc;border-radius:4px;box-shadow:0 0 0 100vmax #00000040;content:"";inset:0;pointer-events:none;position:absolute}.viewer-toolbar{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#00000073;border-radius:10px;display:flex;gap:12px;left:50%;opacity:0;padding:8px 12px;position:absolute;top:12px;transform:translateX(-50%)!important;transition:opacity 1s ease,transform 1s ease;z-index:22}.image-display.grabbing .viewer-toolbar,.image-display:hover .viewer-toolbar{opacity:1;transform:translateX(-50%) translateY(0)}.tool-btn{align-items:center;background:#752d2d;border:1px solid #333;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-direction:column;font:500 12px/1.2 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;justify-content:center;transition:background .3s ease,border-color .3s ease,opacity .3s ease}.tool-btn:hover{background:#bd4d4d!important}.tool-btn.primary{background:#00aa6640;border:1px solid #333}.tool-btn.primary:hover:not(:disabled){background:#005704!important}.size-ghost{background:#64646429;border:2px dashed #3c3c3c73;border-radius:8px;box-shadow:inset 0 0 0 1px #ffffff40;height:0;left:0;opacity:0;pointer-events:none;position:absolute;top:0;transition:opacity .22s ease;width:0;z-index:21}.size-ghost.on{opacity:1}.ortho-grid{grid-column-gap:32px;grid-row-gap:16px;align-items:start;column-gap:32px;display:grid;grid-template-columns:1fr 1fr;row-gap:16px}.ortho-control-row{align-items:center;display:flex;min-height:34px}.ortho-field{display:flex;flex-direction:column;gap:6px}.ortho-field--span2{grid-column:1/-1}.ortho-field--align{justify-self:start}.ortho-label{color:#444;font-size:12px;line-height:1.2}.ortho-hint{margin-left:6px;opacity:.6}.ortho-field input[type=range]{width:100%}.ortho-field select{max-width:280px;width:100%}.ortho-divider{background:#e6e6e6;grid-column:1/-1;height:1px;margin:6px 0 2px}.export-doc{height:0;left:-99999px;overflow:visible;pointer-events:none;position:fixed;top:-99999px;visibility:visible;width:0;z-index:-1}.export-doc .export-page.export-page--print{background:#fff;height:297mm;height:var(--page-h);overflow:hidden;padding:24px;page-break-after:always;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:210mm;width:var(--page-w)}.export-doc .export-page.export-page--print:last-child{page-break-after:auto}@media print{.actions-row,.left-col,.preview-board{display:none!important}.exporter.new-layout.two-col{display:block!important}.export-doc{height:auto!important;inset:auto!important;overflow:visible!important;position:static!important;visibility:visible!important;z-index:auto!important}}.measure-page{background:#fff;box-sizing:border-box;height:297mm;height:var(--page-h);width:210mm;width:var(--page-w)}.export-page.export-page--print{padding:0}.kpi-wrap{display:flex;flex-wrap:wrap;gap:12px}.kpi-grid .kpi-card{min-width:160px}.kpi-row{flex-wrap:nowrap}.kpi-sm .kpi-card{padding:8px 10px}.kpi-md .kpi-card{padding:12px 14px}.kpi-lg .kpi-card{padding:16px 18px}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 1px 2px #0000000a}.kpi-card .kpi-label{color:#6b7280;font-size:12px;margin-bottom:4px}.kpi-sm .kpi-val{font-size:18px;font-weight:600}.kpi-md .kpi-val{font-size:22px;font-weight:700}.kpi-lg .kpi-val{font-size:26px;font-weight:700}.kpi-card.alert{background:#fff7f7;border-color:#fca5a5}.fade-in{animation:fadeIn .3s ease-out forwards;opacity:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.export-opts{grid-gap:8px;align-items:start;display:grid;gap:8px}.export-opts-label{color:#2f2a1f;font-size:13px;font-weight:600}.export-opt{align-items:center;background:#fffbed;border:1px solid #d9cfae;border-radius:8px;color:#3a352a;cursor:pointer;display:inline-flex;font-size:13px;justify-content:center;min-height:32px;padding:6px 12px;transition:background .15s,color .15s,border-color .15s}.export-opt:hover{background:#fff7df;border-color:#cdbf8f}.export-opt.on{background:#2f3b28;border-color:#d9cfae;color:#fffbed}.mapTile-panel{grid-gap:12px;background:#fffbed;border:1px solid #e8e1ca;border-radius:12px;display:grid;gap:12px;padding:14px 14px 10px}.mapTile-header{grid-gap:2px;display:grid;gap:2px}.mapTile-title{color:#2f2a1f;font-size:15px;font-weight:700}.mapTile-subtitle{color:#6b6352;font-size:12px}.mapTile-row{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:140px 1fr}.mapTile-label{color:#3a352a;font-size:13px;font-weight:600}.mapTile-seg{display:inline-flex;flex-wrap:wrap;gap:6px}.mapTile-segBtn{appearance:none;background:#fff;border:1px solid #d9cfae;border-radius:8px;color:#463f2e;cursor:pointer;font-size:12px;padding:6px 10px;transition:background .12s,border-color .12s,box-shadow .12s}.mapTile-segBtn:hover{background:#fff7df;border-color:#cdbf8f}.mapTile-segBtn.on{background:#2f3b28;border-color:#2a3524;box-shadow:inset 0 0 0 2px #2f3b281f;color:#fffbed}.mapTile-stack{grid-gap:6px;display:grid;gap:6px}.mapTile-check{color:#3a352a;font-size:13px;gap:8px}.mapTile-check,.mapTile-rangeWrap{align-items:center;display:inline-flex}.mapTile-rangeWrap{gap:10px}.mapTile-range{width:min(260px,70%)}.mapTile-mono{color:#5b543f;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px}.mapTile-scrollbox{background:#fff;border:1px solid #e8e1ca;border-radius:8px;max-height:180px;overflow:auto;padding:8px}.mapTile-muted{color:#8a7f65;font-size:12px}.mapTile-chipToolbar{align-items:center;background:#fff;border-bottom:1px solid #f0ead4;display:flex;gap:8px;justify-content:space-between;margin:-8px -8px 8px;padding:6px 6px 8px;padding-inline:8px;position:sticky;top:0;z-index:1}.mapTile-chipToolbarLeft{display:flex;flex-wrap:wrap;gap:6px}.mapTile-chipCount{color:#6b6352;font-size:12px}.mapTile-chipGrid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(auto-fill,minmax(56px,1fr))}.mapTile-chip{background:#fff;border:1px solid #d9cfae;border-radius:8px;color:#463f2e;cursor:pointer;font-size:12px;min-height:32px;padding:6px 8px;text-align:center;transition:background .12s,border-color .12s,box-shadow .12s}.mapTile-chip:hover{background:#fff7df;border-color:#cdbf8f}.mapTile-chip.on{background:#2f3b28;border-color:#2a3524;box-shadow:inset 0 0 0 2px #2f3b281f;color:#fffbed}
/*# sourceMappingURL=main.06f554ca.css.map*/