.workspace-mode-selector{display:flex;gap:.5rem;background-color:var(--bg-primary);border-radius:8px;padding:.25rem;border:1px solid var(--border-color)}.mode-button{padding:.5rem 1rem;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:.875rem;transition:all .2s ease}.mode-button:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.mode-button.active{background-color:var(--accent-color);color:#fff}.mode-button.active:hover{background-color:var(--accent-hover)}.canvas-2d-container{width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary);overflow:hidden;min-height:0;flex:1}.canvas-toolbar{display:flex;gap:.5rem;padding:.75rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.tool-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease}html:not([data-theme=dark]) .tool-btn{background-color:#616161;color:#fff;border-color:#616161}.tool-btn:hover{border-color:var(--accent-color)}html:not([data-theme=dark]) .tool-btn:hover{background-color:#757575;border-color:#757575}.tool-btn.active{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.canvas-2d-wrapper{position:relative;flex:1;width:100%;height:100%;min-height:0;display:flex;flex-direction:column}.canvas-2d{flex:1;width:100%;height:100%;max-width:100%;max-height:100%;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cline x1='16' y1='0' x2='16' y2='32' stroke='white' stroke-width='2'/%3E%3Cline x1='0' y1='16' x2='32' y2='16' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 16 16,crosshair;outline:none;display:block;min-height:0}.mobile-app .canvas-2d{touch-action:none}.drawing-hint{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);padding:.75rem 1rem;background-color:#000c;color:#fff;border-radius:6px;font-size:.875rem;pointer-events:none;z-index:10}.canvas-2d-profile-container{width:100%;height:100%;display:flex;flex-direction:column;background-color:var(--bg-primary)}.canvas-profile-label{padding:.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;font-weight:500;text-align:center}.canvas-2d-views-container{display:flex;flex-direction:column;width:100%;height:100%;overflow:hidden}.canvas-2d-resizer{height:8px;background-color:var(--border-color);cursor:row-resize;flex-shrink:0;-webkit-user-select:none;user-select:none;position:relative;z-index:100;transition:background-color .2s ease;pointer-events:auto;margin:2px 0}.canvas-2d-resizer:hover{background-color:var(--accent-color);height:10px}.canvas-2d-view{flex:1 1 auto;display:flex;flex-direction:column;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background-color:var(--bg-primary);min-height:0}html[data-theme=dark] .canvas-2d-view{border-color:#4a4a4a!important}.canvas-2d-view-label{padding:.5rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);color:var(--text-primary);font-size:.875rem;font-weight:500;text-align:center;position:relative;overflow:visible}html[data-theme=dark] .canvas-2d-view-label{border-color:#4a4a4a!important}.canvas-2d-view-content{flex:1;position:relative;overflow:hidden;min-height:0;display:flex;flex-direction:column}.canvas-utility-button-container,.canvas-relief-button-container{position:absolute;top:1rem;left:1rem;z-index:100}.tool-btn-group{position:relative;overflow:visible}.utility-menu{position:absolute;top:calc(100% + .25rem);left:0;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 6px #0000001a;min-width:200px;z-index:1000;overflow:visible}.utility-menu-item-container{position:relative;overflow:visible}.utility-menu-item{display:block;width:100%;padding:.5rem 1rem;text-align:left;background-color:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:.875rem;transition:background-color .2s ease}.modal-content{background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:90vw;max-height:90vh;overflow:auto;display:flex;flex-direction:column}.coordinate-inputs input:focus{outline:none;border-color:var(--accent-color)}.btn-cancel,.btn-submit{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;cursor:pointer;transition:all .2s ease}.btn-cancel{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-cancel:hover{background-color:var(--bg-primary)}.btn-submit{background-color:var(--accent-color);color:#fff;border:1px solid var(--accent-color)}.btn-submit:hover{opacity:.9}.terrain-table th,.terrain-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.terrain-table th{background-color:var(--bg-secondary);font-weight:500;position:sticky;top:0;z-index:10;color:var(--text-primary)}.terrain-table input[type=number]{width:100%;padding:.25rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary)}.terrain-table input[type=number]:focus{outline:none;border-color:var(--accent-color)}html[data-theme=dark] .terrain-table input[type=number]{background-color:#1a1a1a;color:#fff;border-color:#4a4a4a}.coordinate-tooltip{background-color:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:1000;pointer-events:none}.canvas-2d-profile-container{position:relative}.mobile-app .cursor-info-tooltip.fixed-mobile{position:absolute;top:10px;left:50%;transform:translate(-50%);width:90%;max-width:400px;z-index:2000;background-color:#fffffff2;border:2px solid var(--accent-color, #2196f3);border-radius:6px;box-shadow:0 2px 8px #00000026;padding:.5rem .75rem;font-size:.875rem}.view-3d-container{width:100%;height:100%;background-color:#1a1a1a}.workspace-controls{position:relative;display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.depth-hint-toast{position:absolute;bottom:calc(100% + .5rem);right:1rem;max-width:420px;padding:.75rem 2rem .75rem .75rem;background-color:#fff3cd;border:1px solid #ffc107;border-radius:6px;box-shadow:0 4px 12px #00000026;font-size:.8125rem;line-height:1.4;color:#856404;z-index:1100;animation:depthHintSlideUp .25s ease-out}@keyframes depthHintSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .depth-hint-toast{background-color:#ffc10726;border-color:#ffb300;color:#ffb300}.depth-hint-toast-close{position:absolute;top:.35rem;right:.45rem;background:none;border:none;font-size:1.125rem;line-height:1;color:inherit;cursor:pointer;padding:0;opacity:.75}.depth-hint-toast-close:hover{opacity:1}.controls-left{display:flex;gap:.5rem;align-items:center}.controls-right{display:flex;gap:1rem;align-items:center}.map-type-selector-inline{display:flex;align-items:center}.view-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease}html:not([data-theme=dark]) .view-btn{background-color:#616161;color:#fff;border-color:#616161}.view-btn:hover{border-color:var(--accent-color)}html:not([data-theme=dark]) .view-btn:hover{background-color:#757575;border-color:#757575}.view-btn.active{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.stamp-btn{background-color:#4caf50!important;color:#fff!important;border-color:#4caf50!important}.stamp-btn:hover{background-color:#43a047!important;border-color:#43a047!important}.protocol-btn{background-color:#ff9800!important;color:#fff!important;border-color:#ff9800!important}.protocol-btn:hover{background-color:#f57c00!important;border-color:#f57c00!important}.calculate-btn{padding:.5rem 1.5rem;border:none;background-color:var(--accent-color);color:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease}.calculate-btn:hover:not(:disabled){background-color:var(--accent-hover)}.calculate-btn:disabled{opacity:.5;cursor:not-allowed}.tool-btn-group{position:relative;display:inline-block;overflow:visible}.utility-menu{position:absolute;top:calc(100% + .25rem);left:0;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 6px #0000001a;min-width:200px;z-index:1000;overflow:visible;display:flex;flex-direction:column}.utility-menu-item-container{position:relative;overflow:visible;display:block;width:100%}.utility-submenu{position:absolute;left:calc(100% + .25rem);top:0;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:0 4px 6px #0000001a;min-width:250px;z-index:1001}.utility-menu-item{display:block;width:100%;padding:.5rem 1rem;text-align:left;background-color:transparent;border:none;color:var(--text-primary);cursor:pointer;font-size:.875rem;transition:background-color .2s ease;white-space:nowrap;box-sizing:border-box}.utility-menu-item-container:not(:first-child) .utility-menu-item,.utility-menu>button:not(:first-child){border-top:1px solid var(--border-color)}.utility-menu-item:hover{background-color:var(--bg-secondary)}@keyframes pulse-attention{0%{box-shadow:0 0 #4caf50b3;border-color:var(--border-color)}50%{box-shadow:0 0 0 15px #4caf5000;border-color:#4caf50;background-color:#4caf50;color:#fff}to{box-shadow:0 0 #4caf5000;border-color:var(--border-color)}}.flashing-attention{animation:pulse-attention 1.5s ease-in-out infinite;z-index:10}.workspace-controls.mobile-app{display:none!important}.workspace-controls.mobile-app.mobile-visible{display:flex!important;position:relative;z-index:100;background-color:var(--bg-secondary);padding:.3rem .4rem!important;gap:.2rem!important;justify-content:flex-start;align-items:center;flex-wrap:nowrap!important;overflow-x:auto;overflow-y:visible!important;border-bottom:1px solid var(--border-color);scrollbar-width:none;-webkit-overflow-scrolling:touch}.workspace-controls.mobile-app.mobile-visible.menu-open{overflow:visible!important}.workspace-controls.mobile-app.mobile-visible::-webkit-scrollbar{display:none}.workspace-controls.mobile-app.mobile-visible .controls-right{display:flex!important;gap:.3rem;align-items:center}.workspace-controls.mobile-app.mobile-visible .map-type-selector-inline{margin-left:.2rem;padding-left:.4rem;border-left:1px solid var(--border-color);display:flex;align-items:center}.workspace-controls.mobile-app.mobile-visible .controls-right .calculate-btn{display:none}.workspace-controls.mobile-app.mobile-visible .view-btn{padding:.4rem .6rem!important;font-size:.7rem!important;white-space:normal!important;word-wrap:break-word;height:auto;min-height:44px;flex-shrink:0}.workspace-controls.mobile-app.mobile-visible .view-btn:disabled{opacity:.4;filter:grayscale(1);cursor:not-allowed}.workspace-controls.mobile-app.mobile-visible .utility-menu{position:absolute;top:100%;left:0;background-color:var(--bg-primary);min-width:180px;box-shadow:0 8px 16px #0000004d;z-index:1000}.workspace-controls.mobile-app .utility-menu-item,.mobile-app .utility-menu-item{white-space:normal;word-wrap:break-word;height:auto;min-height:44px;line-height:1.2}.calculation-loader-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;animation:calcLoaderFadeIn .3s ease-out}.calculation-loader-card{background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e0e0e0);border-radius:16px;padding:30px 24px;width:90%;max-width:380px;text-align:center;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;align-items:center;gap:15px;animation:calcLoaderScaleIn .3s cubic-bezier(.175,.885,.32,1.275)}.calculation-loader-spinner{width:50px;height:50px;border:4px solid var(--border-color, #f3f3f3);border-top:4px solid var(--accent-color, #2196f3);border-radius:50%;animation:calcLoaderSpin 1s linear infinite}.calculation-loader-card h3{margin:0;font-size:1.2rem;color:var(--text-primary, #212121);font-weight:700}.calculation-loader-card p{margin:0;font-size:.875rem;color:var(--text-secondary, #666666);line-height:1.4}@keyframes calcLoaderSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes calcLoaderFadeIn{0%{opacity:0}to{opacity:1}}@keyframes calcLoaderScaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.map-type-selector{display:flex;gap:.5rem;align-items:center}.map-type-btn{padding:.5rem 1rem;border:1px solid var(--border-color, #e0e0e0);background-color:transparent;color:var(--text-primary, #212121);border-radius:4px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;white-space:nowrap}[data-theme=dark] .map-type-btn{border-color:var(--border-color, #3a3a3a);color:var(--text-primary, #ffffff)}.map-type-btn:hover{background-color:var(--bg-hover, #f5f5f5);border-color:var(--border-hover, #bdbdbd)}[data-theme=dark] .map-type-btn:hover{background-color:var(--bg-hover, #3a3a3a);border-color:var(--border-hover, #4a4a4a)}.map-type-btn.active{background-color:var(--primary-color, #2196f3);color:#fff;border-color:var(--primary-color, #2196f3)}.map-type-btn.active:hover{background-color:var(--primary-hover, #1976d2);border-color:var(--primary-hover, #1976d2)}.stamp-modal-toolbar{padding:.6rem 1.25rem;border-bottom:1px solid var(--border-color, #ddd);display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;flex-shrink:0}.stamp-fields-toggle{margin-left:auto;padding:.35rem .75rem;font-size:.8rem;border:1px solid var(--border-color, #ccc);background:transparent;color:var(--text-primary, #333);border-radius:5px;cursor:pointer}[data-theme=dark] .stamp-fields-toggle{border-color:#555;color:#ccc}.stamp-fields-editor{width:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.4rem 1rem;padding-top:.5rem}.stamp-fields-section-title{grid-column:1 / -1;font-size:.8rem;font-weight:700;color:var(--accent-color, #2196f3);margin-top:.4rem;padding-bottom:.15rem;border-bottom:1px solid var(--border-color, #eee);text-transform:uppercase;letter-spacing:.05em}[data-theme=dark] .stamp-fields-section-title{border-bottom-color:#444}.stamp-field-row{display:flex;align-items:center;gap:.4rem}.stamp-field-row label{font-size:.75rem;white-space:nowrap;color:var(--text-secondary, #555);min-width:90px}[data-theme=dark] .stamp-field-row label{color:#aaa}.stamp-field-row input{flex:1;padding:.25rem .4rem;font-size:.8rem;border:1px solid var(--border-color, #ccc);border-radius:4px;background:var(--bg-primary, #fff);color:var(--text-primary, #333);min-width:0}[data-theme=dark] .stamp-field-row input{background:#2a2a2a;border-color:#555;color:#ddd}.stamp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.stamp-modal-container{background:var(--bg-primary, #fff);border-radius:10px;box-shadow:0 12px 48px #00000059;display:flex;flex-direction:column;max-width:96vw;max-height:96vh;width:1200px;overflow:hidden}[data-theme=dark] .stamp-modal-container{background:#1e1e1e;box-shadow:0 12px 48px #0009}.stamp-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;border-bottom:1px solid var(--border-color, #ddd);flex-shrink:0}[data-theme=dark] .stamp-modal-header{border-bottom-color:#404040}.stamp-modal-header h2{margin:0;font-size:1.15rem;font-weight:600;color:var(--text-primary, #222)}[data-theme=dark] .stamp-modal-header h2{color:#e0e0e0}.stamp-modal-close,.stamp-modal-fullscreen{background:none;border:none;font-size:1.4rem;cursor:pointer;color:var(--text-secondary, #666);line-height:1;padding:.25rem .4rem;border-radius:4px;transition:background .15s;display:flex;align-items:center;justify-content:center}.stamp-modal-close{font-size:1.6rem}.stamp-modal-close:hover,.stamp-modal-fullscreen:hover{background:#00000014}[data-theme=dark] .stamp-modal-close:hover,[data-theme=dark] .stamp-modal-fullscreen:hover{background:#ffffff1a}.stamp-modal-overlay--fs{padding:0}.stamp-modal-container--fs{width:100vw;max-width:100vw;height:100vh;max-height:100vh;border-radius:0;display:flex;flex-direction:column}.stamp-vexagg-control{display:flex;align-items:center;gap:.5rem}.stamp-vexagg-control label{font-size:.8rem;white-space:nowrap;color:var(--text-primary, #333)}[data-theme=dark] .stamp-vexagg-control label{color:#ccc}.stamp-vexagg-control input[type=range]{width:110px;cursor:pointer;accent-color:var(--accent-color, #2196f3)}.stamp-modal-toolbar{padding:.6rem 1.25rem;border-bottom:1px solid var(--border-color, #ddd);display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;flex-shrink:0}[data-theme=dark] .stamp-modal-toolbar{border-bottom-color:#404040}.stamp-export-buttons{display:flex;gap:.4rem}.stamp-export-buttons button{padding:.35rem .75rem;font-size:.8rem;border:1px solid var(--accent-color, #2196f3);background:var(--accent-color, #2196f3);color:#fff;border-radius:5px;cursor:pointer;font-weight:500;transition:opacity .15s}.stamp-export-buttons button:hover{opacity:.85}.protocol-step-control{display:flex;align-items:center;gap:.5rem}.protocol-step-control label{font-size:.85rem;color:var(--text-primary, #333)}[data-theme=dark] .protocol-step-control label{color:#ccc}.protocol-step-control input{border:1px solid var(--border-color, #ccc);border-radius:4px;background:var(--bg-secondary, #f5f5f5);color:var(--text-primary, #333)}[data-theme=dark] .protocol-step-control input{background:#2a2a2a;border-color:#444;color:#eee}.stamp-modal-content{flex:1;overflow:auto;padding:1rem;display:flex;align-items:flex-start;justify-content:center;background:#e8e8e8;min-height:0}[data-theme=dark] .stamp-modal-content{background:#111}.stamp-svg{width:100%;max-width:1100px;height:auto;box-shadow:0 2px 16px #0000002e;border-radius:2px}.stamp-modal-container--fs .stamp-modal-content{flex:1;min-height:0;padding:.25rem;align-items:stretch;justify-content:center}.stamp-modal-container--fs .stamp-svg{max-width:none;width:auto;height:100%;max-height:100%;display:block;margin:0 auto}.mobile-view-toggle{display:flex;background:var(--bg-secondary, #eee);padding:2px;border-radius:6px;gap:2px}.mobile-view-toggle button{padding:.3rem .8rem;font-size:.75rem;border:none;background:transparent;color:var(--text-secondary, #666);border-radius:4px;cursor:pointer;font-weight:500;transition:all .2s}.mobile-view-toggle button.active{background:var(--bg-primary, #fff);color:var(--accent-color, #2196f3);box-shadow:0 1px 3px #0000001a}[data-theme=dark] .mobile-view-toggle{background:#333}[data-theme=dark] .mobile-view-toggle button.active{background:#444}.protocol-mobile-view{display:flex;flex-direction:column;background:var(--bg-primary, #fff);min-height:100%}.protocol-mobile-table-container{width:100%;overflow-x:auto}.protocol-mobile-table{width:100%;border-collapse:collapse;font-size:.85rem}.protocol-mobile-table th{background:var(--bg-secondary, #f0f0f0);padding:.6rem .4rem;text-align:center;font-weight:600;border-bottom:2px solid var(--border-color, #ddd);position:sticky;top:0;z-index:9;white-space:nowrap;color:var(--text-primary, #333)}.protocol-mobile-table td{padding:.6rem .4rem;text-align:center;border-bottom:1px solid var(--border-color, #eee);color:var(--text-primary, #333)}.protocol-mobile-table tr:nth-child(2n){background:var(--bg-secondary, rgba(0,0,0,.02))}.protocol-mobile-table .sub-val{font-size:.7rem;color:var(--text-secondary, #888)}.protocol-mobile-table .depth-cell{font-weight:600;color:#2e7d32}[data-theme=dark] .protocol-mobile-view{background:#1e1e1e}[data-theme=dark] .protocol-mobile-table th{background:#333;border-bottom-color:#444;color:#e0e0e0}[data-theme=dark] .protocol-mobile-table td{border-bottom-color:#333;color:#e0e0e0}[data-theme=dark] .protocol-mobile-table tr:nth-child(2n){background:#ffffff08}.abstract-workspace{display:flex;flex-direction:column;width:100%;height:100%;position:relative}.abstract-workspace.mobile-view{overflow:hidden}.abstract-workspace.mobile-view .canvas-2d-views-container.mobile-carousel{display:block;width:100%;height:100%}.abstract-workspace.mobile-view .canvas-2d-view{width:100%;height:100%;border:none!important;border-radius:0!important}.abstract-workspace.mobile-view .view-indicator{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:.75rem;background:var(--bg-primary);padding:2px 8px;border-radius:10px;opacity:.7}.abstract-workspace.mobile-view .mobile-view-selector{display:flex;background-color:#1a1a1a;padding:0;border-radius:0;margin:0;border:none;gap:0;width:100%;border-bottom:1px solid #333}.abstract-workspace.mobile-view .selector-btn{flex:1;padding:12px;border:none;background:#1a1a1a;color:#888;font-size:.85rem;font-weight:600;border-radius:0;cursor:pointer;transition:all .2s ease;white-space:nowrap;position:relative}.abstract-workspace.mobile-view .selector-btn.active{color:#5dade2;background:#1a1a1a}.abstract-workspace.mobile-view .selector-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background-color:#5dade2}.map-workspace{display:flex;flex-direction:column;width:100%;height:100%;position:relative}.workspace-controls-wrapper{position:relative;width:100%}.workspace-view{flex:1;position:relative;overflow:hidden}.yandex-map{width:100%;height:100%;min-width:300px;min-height:300px;position:absolute;top:0;left:0}.map-workspace.add-point-mode .workspace-view,.map-workspace.add-point-mode .yandex-map,.map-workspace.add-point-mode .yandex-map *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cline x1='16' y1='0' x2='16' y2='32' stroke='white' stroke-width='2'/%3E%3Cline x1='0' y1='16' x2='32' y2='16' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 16 16,crosshair!important}.map-3d-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);color:var(--text-secondary)}.map-loading,.map-error{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--bg-secondary);color:var(--text-primary);padding:2rem;text-align:center}.map-loading p{font-size:1.1rem;margin:.5rem 0}.map-error{color:var(--error-color, #d32f2f)}.map-error p{font-size:1rem;margin:.5rem 0}.map-error p:first-child{font-weight:600;font-size:1.1rem}.yandex-map [class*=ruler__control]{position:absolute!important;bottom:35px!important;left:50%!important;top:auto!important;right:auto!important;transform:translate(-50%)!important}.yandex-map [class*=ruler__icon]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='7' width='20' height='10' rx='1' /%3E%3Cline x1='6' y1='7' x2='6' y2='11' /%3E%3Cline x1='10' y1='7' x2='10' y2='13' /%3E%3Cline x1='14' y1='7' x2='14' y2='11' /%3E%3Cline x1='18' y1='7' x2='18' y2='13' /%3E%3C/svg%3E")!important;background-size:26px!important;background-position:center!important;background-repeat:no-repeat!important;width:28px!important;height:28px!important}.yandex-map [class*=ruler__control] [class*=button]{background-color:#fff!important;border-radius:4px!important;box-shadow:0 2px 6px #0003!important;width:28px!important;height:28px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important}.cursor-info-tooltip{background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e0e0e0);border-radius:6px;box-shadow:0 2px 8px #00000026;padding:.5rem .75rem;font-size:.875rem;min-width:200px;max-width:300px}.mobile-app .cursor-info-tooltip.fixed-mobile{position:absolute;top:10px;left:50%;transform:translate(-50%);width:90%;max-width:400px;z-index:2000;background-color:#fffffff2;border:2px solid var(--accent-color, #2196f3)}[data-theme=dark] .mobile-app .cursor-info-tooltip.fixed-mobile{background-color:#1e1e1ef2;border-color:var(--accent-color, #2196f3)}.mobile-map-actions{position:absolute;bottom:20px;left:0;right:0;display:flex;justify-content:center;gap:1rem;z-index:2000;padding:0 1rem}.map-action-btn{padding:.8rem 1.5rem;border-radius:8px;font-weight:600;font-size:.9rem;border:none;box-shadow:0 4px 12px #0000004d;cursor:pointer}.map-action-btn.cancel{background-color:#f44336;color:#fff}.map-action-btn.submit{background-color:#4caf50;color:#fff}.map-action-btn.location-btn{position:absolute;left:20px;bottom:20px;width:48px;height:48px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background-color:#fff;color:#333;z-index:2001;box-shadow:0 4px 12px #00000040;border:1px solid rgba(0,0,0,.1)}.map-action-btn.location-btn:active{background-color:#f5f5f5;transform:scale(.95)}.cursor-info-content{display:flex;flex-direction:column;gap:.25rem}.cursor-info-line{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.cursor-info-label{color:var(--text-secondary, #666666);font-weight:500;white-space:nowrap}.cursor-info-value{color:var(--text-primary, #000000);font-weight:600;font-family:Courier New,monospace;text-align:right;white-space:nowrap}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.modal-content{background-color:var(--bg-primary);border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:90vw;max-height:90vh;overflow:auto;display:flex;flex-direction:column;min-width:400px}.modal-header{padding:1rem;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;font-size:1.125rem;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--text-primary);cursor:pointer;padding:0;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s ease}.modal-close:hover{background-color:var(--bg-secondary)}.modal-body{padding:1rem;flex:1;overflow:auto}.modal-footer{padding:1rem;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--text-primary);font-size:.875rem;font-weight:500}.coordinate-inputs{display:flex;gap:.5rem}.coordinate-inputs input{flex:1;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem}.coordinate-inputs input:focus{outline:none;border-color:var(--primary-color, #2196f3);box-shadow:0 0 0 2px #2196f333}.btn-cancel,.btn-submit{padding:.5rem 1rem;border:none;border-radius:4px;font-size:.875rem;cursor:pointer;transition:background-color .2s ease}.btn-cancel{background-color:var(--bg-secondary);color:var(--text-primary)}.btn-cancel:hover{background-color:var(--bg-tertiary)}.btn-submit{background-color:var(--primary-color, #2196f3);color:#fff}.btn-submit:hover{background-color:var(--primary-color-dark, #1976d2)}.terrain-table-modal{min-width:500px;max-width:800px}.terrain-table-container{max-height:400px;overflow-y:auto}.terrain-table{width:100%;border-collapse:collapse}.terrain-table th,.terrain-table td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border-color, #e0e0e0)}.terrain-table th{background-color:var(--bg-secondary);font-weight:500;position:sticky;top:0;z-index:1}.terrain-table td{background-color:var(--bg-primary)}.terrain-table input[type=number]{width:100%;padding:.25rem;border:1px solid var(--border-color, #e0e0e0);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary)}.terrain-table input[type=number]:focus{outline:none;border-color:var(--accent-color, #2196f3)}html[data-theme=dark] .terrain-table th{background-color:#2a2a2a;color:#fff}html[data-theme=dark] .terrain-table td{background-color:#1a1a1a;color:#fff}html[data-theme=dark] .terrain-table input[type=number]{background-color:#1a1a1a;color:#fff;border-color:#444}.mobile-app .yandex-map [class*=copyrights-promo],.mobile-app .yandex-map [class*=copyrights-pane],.mobile-app .yandex-map [class*=scaleline]{bottom:16px!important}.coordinate-system-selector{display:flex;flex-direction:column;gap:1rem}.coordinate-system-selector h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.system-options{display:flex;flex-direction:column;gap:.75rem}.radio-option{display:flex;align-items:center;gap:.5rem;padding:.75rem;border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease}.radio-option:hover{background-color:var(--bg-primary);border-color:var(--accent-color)}.radio-option input[type=radio]{cursor:pointer}.radio-option span{flex:1;color:var(--text-primary)}.system-params{margin-top:1rem;padding:1rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.system-params label{display:flex;flex-direction:column;gap:.5rem;color:var(--text-primary);font-weight:500}.system-params input,.system-params select{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.875rem}.system-params input:focus,.system-params select:focus{outline:none;border-color:var(--accent-color)}.system-params select{cursor:pointer}.system-params select option{background-color:var(--bg-secondary);color:var(--text-primary)}.hint{margin-top:.5rem;font-size:.75rem;color:var(--text-secondary);font-style:italic}.coordinate-input-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.coordinate-input-section:first-of-type{margin-top:1rem;padding-top:0;border-top:none}.coordinate-input-section h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.input-group{display:flex;flex-direction:column;gap:.75rem}.input-group label{display:flex;flex-direction:column;gap:.5rem;color:var(--text-primary);font-weight:500;font-size:.875rem}.input-group input{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;width:100%}.input-group input:focus{outline:none;border-color:var(--accent-color)}.hnb-rig-selector{display:flex;flex-direction:column;gap:1rem}.hnb-rig-selector h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.rig-mode-selector{display:flex;gap:.5rem}.mode-btn{flex:1;padding:.5rem 1rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.mode-btn:hover{border-color:var(--accent-color)}.mode-btn.active{background-color:var(--accent-color);color:#fff;border-color:var(--accent-color)}.default-rig-info{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.rig-parameter{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.rig-parameter:last-child{border-bottom:none}.param-label{color:var(--text-secondary);font-size:.875rem}.param-value{color:var(--text-primary);font-weight:600;font-size:.875rem}.custom-rig-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:var(--text-primary);font-size:.875rem;font-weight:500}.form-group input{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem}.form-group input:focus{outline:none;border-color:var(--accent-color)}.form-actions{display:flex;justify-content:flex-end;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.save-btn{padding:.5rem 1.5rem;border:none;background-color:var(--accent-color);color:#fff;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease}.save-btn:hover{background-color:var(--accent-hover)}.save-btn:active{transform:scale(.98)}.save-btn:disabled{opacity:.7;cursor:not-allowed}.save-btn.saved,.save-btn.saved:hover{background-color:var(--success-color)}.custom-rig-info{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.edit-btn{padding:.5rem 1.5rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease}.edit-btn:hover{background-color:var(--bg-secondary);border-color:var(--accent-color)}html:not([data-theme=dark]) .edit-btn{background-color:#616161;color:#fff;border-color:#616161}html:not([data-theme=dark]) .edit-btn:hover{background-color:#757575;border-color:#757575}.reset-btn{padding:.5rem 1.5rem;border:1px solid var(--border-color);background-color:var(--bg-primary);color:var(--text-primary);border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;width:100%}.reset-btn:hover{background-color:var(--bg-secondary);border-color:var(--accent-color)}html:not([data-theme=dark]) .reset-btn{background-color:#616161;color:#fff;border-color:#616161}html:not([data-theme=dark]) .reset-btn:hover{background-color:#757575;border-color:#757575}.angle-range-group{gap:.25rem!important}.angle-range-label{display:block;color:var(--text-primary);font-size:.875rem;font-weight:500;margin-bottom:.25rem}.angle-range-inputs{display:flex;align-items:center;gap:.5rem}.angle-range-inputs input{flex:1;padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-primary);color:var(--text-primary);font-size:.875rem;text-align:center;min-width:0}.angle-range-inputs input:focus{outline:none;border-color:var(--accent-color)}.angle-separator{color:var(--text-secondary);font-size:.875rem;flex-shrink:0}.project-parameters{display:flex;flex-direction:column;gap:1.5rem}.project-parameters h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.section{display:flex;flex-direction:column;gap:.75rem}.section h4{font-size:1rem;font-weight:600;color:var(--text-primary)}.pipe-bundle,.pipe-list{display:flex;flex-direction:column;gap:.75rem}.pipe-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.pipe-item label{flex:1;display:flex;flex-direction:column;gap:.5rem;color:var(--text-primary);font-size:.875rem}.pipe-item input{padding:.5rem;border:1px solid var(--border-color);border-radius:4px;background-color:var(--bg-secondary);color:var(--text-primary)}.pipe-item input:focus{outline:none;border-color:var(--accent-color)}.remove-btn{min-width:32px;min-height:32px;padding:.25rem;border:none;background-color:var(--error-color);color:#fff;border-radius:4px;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.remove-btn:hover{opacity:.8}.add-btn{padding:.75rem;border:1px dashed var(--border-color);background-color:transparent;color:var(--accent-color);border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .2s ease}.add-btn:hover{border-color:var(--accent-color);background-color:var(--bg-primary)}.instructions{padding:1rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color)}.instructions p{color:var(--text-secondary);font-size:.875rem;line-height:1.6;margin-bottom:.5rem}.instructions p:last-child{margin-bottom:0}.utilities-manager{display:flex;flex-direction:column;gap:1rem;padding:.5rem 0}.utilities-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .25rem}.utilities-header h3{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0;letter-spacing:.01em}.add-btn-container{position:relative}.utility-hint-popup{position:absolute;top:calc(100% + 10px);right:0;background-color:#4caf50;color:#fff;padding:8px 12px;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #0003;z-index:100;animation:hintFadeIn .3s ease-out}.utility-hint-popup:after{content:"";position:absolute;bottom:100%;right:20px;border-width:6px;border-style:solid;border-color:transparent transparent #4caf50 transparent}@keyframes hintFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.add-btn{padding:.625rem 1.25rem;background-color:var(--accent-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;box-shadow:0 1px 3px #0000001f}.add-btn:hover{background-color:var(--accent-hover);box-shadow:0 2px 6px #00000029;transform:translateY(-1px)}.add-btn:active{transform:translateY(0);box-shadow:0 1px 3px #0000001f}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--text-secondary);background:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border-color)}.empty-state p{margin:0;font-size:.9375rem;line-height:1.5}.empty-state .hint{font-size:.8125rem;margin-top:.75rem;opacity:.8;line-height:1.4}.utilities-list{display:flex;flex-direction:column;gap:1rem}.utility-item{padding:1.25rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;display:flex;flex-direction:column;gap:1rem;min-width:0;width:100%;box-sizing:border-box;transition:all .2s ease;box-shadow:0 1px 3px #00000014}.utility-item:hover{box-shadow:0 4px 12px #0000001f;border-color:var(--accent-color);transform:translateY(-2px)}.utility-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.75rem}.utility-name{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0}.utility-name strong{color:var(--text-primary);font-size:1rem;font-weight:600;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.utility-type{padding:.375rem .75rem;background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;border-radius:6px;font-size:.75rem;font-weight:500;white-space:nowrap;flex-shrink:0;letter-spacing:.02em;box-shadow:0 1px 3px #0000001a}.utility-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.75rem;font-size:.875rem;color:var(--text-secondary);padding:.75rem;background:var(--bg-secondary);border-radius:8px}.utility-details span{display:flex;align-items:center;gap:.375rem;font-weight:500}.utility-details span:before{content:"•";color:var(--accent-color);font-size:1.25em;font-weight:700}.utility-description{font-size:.875rem;color:var(--text-secondary);line-height:1.5;padding:.75rem;background:var(--bg-secondary);border-radius:8px;border-left:3px solid var(--accent-color)}.utility-actions{display:flex;gap:.75rem;flex-shrink:0;padding-top:.5rem;border-top:1px solid var(--border-color)}.edit-btn,.delete-btn{flex:1;padding:.625rem 1rem;border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;white-space:nowrap;box-shadow:0 1px 2px #0000000d}.edit-btn{background:var(--bg-secondary);color:var(--text-primary)}.edit-btn:hover{background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 2px 6px #0000001f}.delete-btn{background:var(--bg-secondary);color:var(--error-color)}.delete-btn:hover{background:var(--error-color);color:#fff;border-color:var(--error-color);transform:translateY(-1px);box-shadow:0 2px 6px #dc26264d}.edit-btn:active,.delete-btn:active{transform:translateY(0)}.utility-form{padding:1.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #00000014}.utility-form h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem;padding-bottom:.75rem;border-bottom:2px solid var(--accent-color)}.form-group{display:flex;flex-direction:column;gap:.625rem;margin-bottom:1.25rem}.form-group label{font-size:.875rem;font-weight:600;color:var(--text-primary);letter-spacing:.01em}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1.5px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:.875rem;transition:all .2s ease;width:100%;box-sizing:border-box}.form-group select{width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-color);background:var(--bg-primary);box-shadow:0 0 0 3px #2196f31a}.form-group textarea{resize:vertical;font-family:inherit;line-height:1.5}.error-hint{font-size:.8125rem;color:var(--error-color);margin:.5rem 0 0;padding:.5rem .75rem;background:#dc26261a;border-radius:6px;border-left:3px solid var(--error-color)}.form-actions{display:flex;gap:1rem;margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border-color)}.save-btn,.cancel-btn{flex:1;padding:.75rem 1.5rem;border:1.5px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:600;transition:all .2s ease;box-shadow:0 1px 3px #00000014}.save-btn{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.save-btn:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #2196f34d}.save-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #00000014}.save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cancel-btn{background:var(--bg-secondary);color:var(--text-primary)}.cancel-btn:hover{background:var(--bg-primary);border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 4px 12px #0000001f}.cancel-btn:active{transform:translateY(0);box-shadow:0 1px 3px #00000014}.calculation-results{display:flex;flex-direction:column;gap:1rem}.calculation-results h3{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin-bottom:0}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.disclaimer-info{position:relative;display:flex;align-items:center}.info-icon{font-size:1.2rem;color:var(--text-secondary);cursor:pointer;opacity:.7;transition:opacity .2s;padding:4px}.info-icon:hover{opacity:1}.info-tooltip{position:absolute;top:100%;right:0;width:240px;background:var(--card-bg, #1e1e1e);color:var(--text-primary, #fff);padding:12px;border-radius:8px;font-size:.75rem;line-height:1.4;box-shadow:0 4px 15px #00000080;border:1px solid var(--border-color, #404040);z-index:100;pointer-events:none;opacity:0;transform:translateY(10px);transition:all .2s ease;font-weight:400}.disclaimer-info:hover .info-tooltip{opacity:1;transform:translateY(5px)}.no-results{padding:2rem;text-align:center;color:var(--text-secondary);font-style:italic}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.result-card{padding:1rem;background-color:var(--bg-primary);border-radius:6px;border:1px solid var(--border-color);display:flex;flex-direction:column;gap:.5rem;transition:background-color .3s ease,border-color .3s ease}[data-theme=dark] .result-card{background-color:#1e1e1e;border-color:#404040;box-shadow:0 2px 8px #0000004d}.result-label{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-weight:500}[data-theme=dark] .result-label{color:#d0d0d0}.result-value{font-size:1.25rem;font-weight:600;color:var(--accent-color)}.unit-secondary{font-size:.85em;opacity:.75;margin-left:8px;font-weight:400;color:var(--text-secondary)}[data-theme=dark] .unit-secondary{color:#b0b0b0}[data-theme=dark] .result-value{color:#64b5f6;text-shadow:0 0 8px rgba(100,181,246,.3)}.feasibility{padding:1rem;border-radius:6px;border:1px solid}.feasibility.feasible{background-color:#388e3c1a;border-color:var(--success-color);color:var(--success-color)}[data-theme=dark] .feasibility.feasible{background-color:#66bb6a26;border-color:#66bb6a;color:#81c784}.feasibility.not-feasible{background-color:#d32f2f1a;border-color:var(--error-color);color:var(--error-color)}[data-theme=dark] .feasibility.not-feasible{background-color:#ef535026;border-color:#ef5350;color:#ef5350}.feasibility strong{display:block;margin-bottom:.5rem;font-size:1rem}.feasibility p{font-size:.875rem;margin:0}.warnings{padding:1rem;background-color:#ffc1071a;border-radius:6px;border:1px solid #ffc107}.warnings h4{font-size:.875rem;color:#f57c00;margin-bottom:.5rem}.warnings ul{margin:0;padding-left:1.5rem}.warnings li{font-size:.875rem;color:#f57c00;margin-bottom:.25rem}[data-theme=dark] .warnings{background-color:#ffc10726;border-color:#ffb300}[data-theme=dark] .warnings h4,[data-theme=dark] .warnings li{color:#ffb300}.pipe-bundle-info{padding:.75rem;background-color:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color)}[data-theme=dark] .pipe-bundle-info{background-color:#252525;border-color:#404040;color:var(--text-primary)}.pipe-bundle-info h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.pipe-bundle-info p{font-size:.875rem;color:var(--text-secondary);margin:0}[data-theme=dark] .pipe-bundle-info p{color:#d0d0d0}.reaming-info{padding:1rem;background-color:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color);border-left:4px solid var(--accent-color)}[data-theme=dark] .reaming-info{background-color:#252525;border-color:#404040}.reaming-info h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.reaming-info p{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.reaming-list{margin:0;padding-left:1.25rem}.reaming-list li{font-size:.875rem;color:var(--text-primary);margin-bottom:.25rem}.utility-clearances{margin-top:1rem}.utility-clearances h4{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.clearances-list{display:flex;flex-direction:column;gap:.5rem}.clearance-item{padding:.75rem;background-color:var(--bg-secondary);border-radius:6px;border:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}[data-theme=dark] .clearance-item{background-color:#252525;border-color:#404040}.clearance-item.compliant{border-left:3px solid var(--success-color)}.clearance-item.non-compliant{border-left:3px solid var(--error-color)}.clearance-name{font-size:.875rem;font-weight:500;color:var(--text-primary);flex:1;min-width:150px}.clearance-values{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.clearance-label{font-size:.875rem;color:var(--text-secondary)}[data-theme=dark] .clearance-label{color:#d0d0d0}.clearance-label strong{color:var(--text-primary);font-weight:600}.status{font-size:.75rem;padding:.25rem .5rem;border-radius:4px;font-weight:500}.status.ok{background-color:#388e3c1a;color:var(--success-color)}[data-theme=dark] .status.ok{background-color:#66bb6a33;color:#81c784}.status.warning{background-color:#d32f2f1a;color:var(--error-color)}[data-theme=dark] .status.warning{background-color:#ef535033;color:#ef5350}.clearance-note{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}[data-theme=dark] .clearance-note{border-top-color:#404040}.clearance-note small{font-size:.75rem;color:var(--text-secondary)}[data-theme=dark] .clearance-note small{color:#b0b0b0}.result-card.live-value{border-color:#ff9800;box-shadow:0 0 0 1px #ff98004d}.result-card.violation{border-color:#f44336;background-color:#f443360f}[data-theme=dark] .result-card.violation{background-color:#f443361f;border-color:#ef5350}.live-clearances{border-left:3px solid #ff9800;padding-left:.5rem}.live-badge{display:inline-block;font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background-color:#ff9800;color:#fff;padding:.1rem .4rem;border-radius:3px;margin-left:.5rem;vertical-align:middle}.sidebar{width:350px;display:flex;flex-direction:column;background-color:var(--bg-secondary);border-right:1px solid var(--border-color);overflow:hidden}.sidebar:not(.mobile-app-sidebar){background-color:var(--bg-primary)}.sidebar-tabs{display:flex;flex-direction:column;padding:.5rem;gap:.5rem;border-bottom:1px solid var(--border-color);background-color:var(--bg-primary)}.sidebar:not(.mobile-app-sidebar) .sidebar-tabs{padding:0;gap:0;background-color:var(--bg-primary)}.tab{width:100%;padding:.75rem;border:none;background-color:transparent;color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:.9rem;font-weight:700;transition:all .2s ease;display:flex;align-items:center;justify-content:flex-start;text-align:left;position:relative;overflow:hidden;white-space:nowrap;gap:10px}.sidebar:not(.mobile-app-sidebar) .tab{border-radius:0;padding:1rem 1.25rem}.tab-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.tab-text{flex:1;overflow:hidden;text-overflow:ellipsis}.tab:hover{background-color:var(--bg-secondary);color:var(--text-primary)}.tab.active{background-color:var(--accent-color);color:#fff}.sidebar-content{flex:1;overflow-y:auto;padding:1rem}.sidebar:not(.mobile-app-sidebar) .sidebar-content{background-color:var(--bg-secondary)}.sidebar-content::-webkit-scrollbar{width:8px}.sidebar-content::-webkit-scrollbar-track{background:var(--bg-secondary)}.sidebar-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.sidebar.mobile-app-sidebar{flex-direction:row!important;width:100%!important}.mobile-tabs-container{display:flex;flex-direction:column;width:100%}.sidebar.mobile-app-sidebar .mobile-tabs-container{flex:1;position:relative;overflow:hidden}.sidebar.mobile-app-sidebar .sidebar-tabs{width:100%;flex:1;border-right:none;border-bottom:none;padding:1rem;gap:.75rem;display:flex;flex-direction:column;background-color:var(--bg-primary);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--accent-color) var(--bg-secondary)}.sidebar.mobile-app-sidebar .sidebar-tabs::-webkit-scrollbar{width:12px;display:block!important}.sidebar.mobile-app-sidebar .sidebar-tabs::-webkit-scrollbar-track{background:var(--bg-secondary);border-left:1px solid var(--border-color);margin:0}.sidebar.mobile-app-sidebar .sidebar-tabs::-webkit-scrollbar-thumb{background-color:var(--accent-color);border-radius:6px;border:3px solid var(--bg-secondary)}.mobile-scroll-indicator{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;padding:12px 6px;background:#0000000d;border:1px solid var(--border-color);border-radius:20px;pointer-events:none;z-index:10;align-items:center}[data-theme=dark] .mobile-scroll-indicator{background:#ffffff0d}.mobile-scroll-indicator:before{content:"";position:absolute;top:15px;bottom:15px;width:1px;background:var(--border-color);opacity:.3;z-index:-1}.indicator-dot{width:6px;height:6px;border-radius:50%;background:var(--text-secondary);opacity:.5;transition:all .3s ease}.indicator-dot.active{background:var(--accent-color);opacity:1;transform:scale(1.3)}.mobile-menu-header{padding:.5rem 0 1rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem}.mobile-menu-header h3{margin:0;font-size:1.2rem;color:var(--text-primary)}.sidebar.mobile-app-sidebar .tab{padding:1.2rem!important;font-size:1.1rem!important;font-weight:700!important;justify-content:flex-start!important;background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:100%;white-space:normal!important;word-wrap:break-word!important;height:auto!important;min-height:44px;flex-shrink:0!important;overflow:visible!important}.sidebar.mobile-app-sidebar .tab-text{display:block;opacity:1;white-space:normal!important;word-wrap:break-word!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2}.sidebar.mobile-app-sidebar .tab-icon{font-size:1.5rem;width:40px;text-align:center}.sidebar.mobile-app-sidebar.submenu-open{width:450px!important;max-width:100vw!important}.sidebar-container{display:flex;width:100%;height:100%}.back-strip{width:60px;background-color:var(--bg-primary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;align-items:center;padding-top:1rem;cursor:pointer;flex-shrink:0;transition:all .3s ease}.back-strip:hover{background-color:var(--bg-secondary)}.back-btn{background:none;border:none;color:var(--text-primary);font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease}.back-strip:hover .back-btn{transform:translate(-3px)}.sidebar.mobile-app-sidebar .sidebar-content{flex:1;background-color:var(--bg-secondary);padding:1rem}.theme-toggle{width:40px;height:40px;border:none;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.theme-toggle:hover{background-color:var(--bg-secondary);transform:scale(1.05)}.project-workspace{display:flex!important;flex-direction:column!important;width:100%!important;height:100vh!important;overflow:hidden!important;background-color:#fff!important;color:#212121!important}.workspace-header{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:1rem 2rem!important;background-color:#f5f5f5!important;border-bottom:1px solid #e0e0e0!important;box-shadow:0 2px 4px #0000001a!important;min-height:60px!important;z-index:10!important}[data-theme=dark] .workspace-header{background-color:#2a2a2a!important;border-bottom:1px solid #3a3a3a!important;box-shadow:0 2px 4px #0000004d!important}.workspace-header h1{font-size:1.5rem!important;font-weight:600!important;color:#212121!important;margin:0!important}[data-theme=dark] .workspace-header h1{color:#fff!important}.header-controls{display:flex!important;gap:1rem!important;align-items:center!important}.new-project-button{padding:.5rem 1rem!important;font-size:.9rem!important;font-weight:500!important;color:#fff!important;background-color:#2196f3!important;border:none!important;border-radius:4px!important;cursor:pointer!important;transition:background-color .2s!important}.new-project-button:hover{background-color:#1976d2!important}[data-theme=dark] .new-project-button{background-color:#1a73e8!important}.mobile-menu-toggle{display:none!important;background:none!important;border:none!important;font-size:1.5rem!important;cursor:pointer!important;color:#212121!important;padding:.5rem!important}[data-theme=dark] .mobile-menu-toggle{color:#fff!important}[data-theme=dark] .new-project-button:hover{background-color:#1557b0!important}.workspace-content{display:flex!important;flex:1!important;overflow:hidden!important;min-height:0!important}.workspace-main{flex:1!important;position:relative!important;overflow:hidden!important;background-color:#fff!important}.project-workspace.mobile-app .mobile-menu-toggle{display:block!important}.project-workspace.mobile-app .workspace-header{padding:.25rem .5rem!important;min-height:44px!important}.project-workspace.mobile-app .workspace-header h1{display:none}.project-workspace.mobile-app .header-controls{gap:.25rem!important;width:100%;justify-content:flex-end}.project-workspace.mobile-app .header-workspace-controls{display:flex;gap:.25rem;align-items:center;margin-right:0}.project-workspace.mobile-app .header-workspace-controls .calculate-btn{padding:.4rem .8rem;font-size:.75rem;background-color:#4caf50;color:#fff;border:none;border-radius:6px;height:32px;font-weight:600}.project-workspace.mobile-app .header-workspace-controls .calculate-btn.edit-conditions-btn{background-color:#add8e6;color:#333}.project-workspace.mobile-app .new-project-button{padding:.4rem .6rem!important;font-size:.8rem!important;background-color:#2196f3!important}.project-workspace.mobile-app .workspace-content{flex-direction:column!important}.project-workspace.mobile-app .sidebar{position:fixed!important;left:0!important;top:0!important;width:350px!important;height:100%!important;max-height:100vh!important;z-index:1000!important;transition:transform .3s ease,width .3s ease!important;box-shadow:2px 0 10px #0003!important}.project-workspace.mobile-app .sidebar.submenu-open{width:450px!important;max-width:100%!important}.project-workspace.mobile-app .sidebar.hidden{transform:translate(-100%)!important}.project-workspace.mobile-app .sidebar-backdrop{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background-color:#00000080!important;z-index:999!important}.welcome-container{height:100vh;width:100%;display:flex;align-items:flex-start;justify-content:center;background:linear-gradient(135deg,#1a2a6c,#b21f1f,#fdbb2d);background-size:400% 400%;animation:gradientBG 15s ease infinite;padding:40px 20px 60px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-y:auto;-webkit-overflow-scrolling:touch}.is-mobile{align-items:flex-start}@keyframes gradientBG{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.welcome-card{max-width:1100px;width:100%;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;padding:30px;box-shadow:0 20px 50px #0000004d;color:#333;display:flex;flex-direction:column}.is-web .welcome-card{max-height:none;overflow:visible}.is-web .welcome-content{overflow-y:visible;padding-right:0;margin-bottom:20px;flex-grow:0}.is-mobile .welcome-card{margin:20px auto 40px}.is-mobile .welcome-content{margin-bottom:30px}[data-theme=dark] .welcome-card{background:#1e1e1ef2;color:#eee}.welcome-header{text-align:center;margin-bottom:30px;flex-shrink:0}.welcome-header h1{font-size:2.2rem;margin-bottom:5px;color:#1a2a6c}[data-theme=dark] .welcome-header h1{color:#4a90e2}.subtitle{font-size:1.1rem;color:#666;font-weight:500}[data-theme=dark] .subtitle{color:#aaa}.welcome-actions{display:flex;flex-direction:column;align-items:center;gap:15px;margin:0 auto 40px;padding-bottom:30px;border-bottom:1px solid rgba(0,0,0,.05);width:100%;max-width:450px;box-sizing:border-box}.welcome-actions .start-button,.welcome-actions .protocol-button{width:100%!important;box-sizing:border-box;margin:0!important;padding:16px 20px!important;font-size:clamp(1rem,1.25rem,1.4rem)!important;font-weight:700!important;height:auto!important;min-height:54px!important;display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}[data-theme=dark] .welcome-actions{border-bottom-color:#ffffff0d}.info-section h3{font-size:1.4rem;margin-bottom:12px;color:#333}[data-theme=dark] .info-section h3{color:#ddd}.info-section ul{list-style:none;padding:0}.info-section li{margin-bottom:12px;line-height:1.5}.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:30px}.feature-item{background:#00000008;padding:15px;border-radius:16px;text-align:center;transition:transform .3s ease}[data-theme=dark] .feature-item{background:#ffffff0d}.feature-item:hover{transform:translateY(-5px)}.feature-icon{font-size:1.8rem;display:block;margin-bottom:8px}.feature-item h4{margin-bottom:5px;color:#1a2a6c}[data-theme=dark] .feature-item h4{color:#4a90e2}.feature-item p{font-size:.85rem;color:#666}[data-theme=dark] .feature-item p{color:#aaa}.welcome-footer{text-align:center;padding-top:15px;border-top:1px solid rgba(0,0,0,.05);flex-shrink:0}[data-theme=dark] .welcome-footer{border-top-color:#ffffff0d}.start-button{padding:16px 80px;font-size:clamp(1rem,1.4rem,1.8rem);white-space:normal;line-height:1.2;font-weight:800;color:#fff;background:linear-gradient(135deg,#28a745,#218838);border:none;border-radius:50px;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 25px #28a74566;text-transform:uppercase;letter-spacing:1px}.start-button:hover{transform:scale(1.08);box-shadow:0 15px 35px #28a74580;background:linear-gradient(135deg,#2ecc71,#27ae60)}.start-button:active{transform:scale(.98)}.protocol-buttons-group{display:flex;flex-direction:column;gap:10px;margin-top:15px}.protocol-button{width:100%;padding:16px 20px;font-size:clamp(1rem,1.2rem,1.6rem);white-space:normal;line-height:1.2;font-weight:700;color:#fff;background:linear-gradient(135deg,#4a90e2,#357abd);border:none;border-radius:50px;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 10px 25px #4a90e266;text-transform:uppercase;letter-spacing:1px}.protocol-button:hover{transform:scale(1.05);box-shadow:0 15px 35px #4a90e280;background:linear-gradient(135deg,#5da2f2,#478ccd)}.protocol-button:active{transform:scale(.98)}.history-btn{background:linear-gradient(135deg,#f39c12,#e67e22);box-shadow:0 10px 25px #f39c1266}.history-btn:hover{background:linear-gradient(135deg,#f1c40f,#f39c12);box-shadow:0 15px 35px #f39c1280}.welcome-policy-footer{margin-top:25px;text-align:center;border-top:1px solid rgba(0,0,0,.05);padding-top:15px;width:100%;flex-shrink:0}.welcome-disclaimer{margin-bottom:12px;padding:0 10px}.welcome-disclaimer p{font-size:.75rem;color:#888;line-height:1.4;margin:0}[data-theme=dark] .welcome-disclaimer p{color:#777}[data-theme=dark] .welcome-policy-footer{border-top-color:#ffffff0d}.policy-link{background:none;border:none;color:#888;text-decoration:underline;font-size:.85rem;cursor:pointer;transition:color .2s}.policy-link:hover{color:#2196f3}.is-web .welcome-content::-webkit-scrollbar{width:6px}.is-web .welcome-content::-webkit-scrollbar-track{background:#0000000d}.is-web .welcome-content::-webkit-scrollbar-thumb{background:#0003;border-radius:10px}@media (max-width: 900px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.welcome-card{padding:20px 15px;margin:10px 0;border-radius:16px}.welcome-header h1{font-size:1.8rem}.welcome-actions{margin-bottom:30px;padding-bottom:20px}.features-grid{grid-template-columns:1fr}.start-button{width:100%;padding:14px 20px;font-size:1.2rem}.protocol-button{padding:14px 20px;font-size:1.1rem}}.rustore-promo-banner{display:flex;justify-content:space-between;align-items:center;gap:20px;background:linear-gradient(135deg,#f0f4ffe6,#e1ebffe6);border:1px solid rgba(0,91,255,.15);border-radius:20px;padding:24px;margin-top:30px;box-shadow:0 8px 32px #005bff14;transition:all .3s ease}[data-theme=dark] .rustore-promo-banner{background:linear-gradient(135deg,#101c36f2,#0b1426f2);border:1px solid rgba(0,91,255,.3);box-shadow:0 8px 32px #0000004d}.rustore-promo-banner:hover{transform:translateY(-2px);box-shadow:0 12px 40px #005bff1f}.rustore-promo-content{display:flex;align-items:flex-start;gap:16px;flex:1}.rustore-promo-icon{font-size:2.5rem;line-height:1;-webkit-user-select:none;user-select:none}.rustore-promo-text{text-align:left}.rustore-promo-text h4{font-size:1.25rem;margin:0 0 6px;color:#1a2a6c;font-weight:700}[data-theme=dark] .rustore-promo-text h4{color:#4a90e2}.rustore-promo-text p{font-size:.9rem;line-height:1.45;color:#444;margin:0}[data-theme=dark] .rustore-promo-text p{color:#ccc}.rustore-download-button{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:12px 24px;font-size:1rem;font-weight:700;color:#fff!important;background:linear-gradient(135deg,#005bff,#0046cc);border:none;border-radius:50px;text-decoration:none;cursor:pointer;box-shadow:0 6px 20px #005bff4d;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.rustore-download-button:hover{transform:scale(1.05);box-shadow:0 10px 25px #005bff66;background:linear-gradient(135deg,#1a75ff,#005bff)}.rustore-download-button:active{transform:scale(.98)}@media (max-width: 768px){.rustore-promo-banner{flex-direction:column;text-align:center;align-items:stretch;padding:20px;gap:15px}.rustore-promo-content{flex-direction:column;align-items:center;text-align:center;gap:10px}.rustore-promo-text{text-align:center}.rustore-download-button{width:100%;box-sizing:border-box}}.forum-container{width:100%;height:100vh;background-color:var(--bg-primary);color:var(--text-primary);display:flex;justify-content:center;padding:40px 20px;overflow-y:auto;box-sizing:border-box}.forum-card{width:100%;max-width:800px;display:flex;flex-direction:column;gap:24px}.forum-back-btn{align-self:flex-start;background:none;border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.forum-back-btn:hover{background-color:var(--bg-secondary);color:var(--text-primary);border-color:var(--text-secondary)}.forum-header{text-align:center;margin-bottom:10px}.forum-title{font-size:2.2rem;font-weight:800;margin-bottom:8px;color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none}.forum-subtitle{font-size:1.1rem;color:var(--text-secondary);line-height:1.4}.no-registration-banner{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#2196f31a,#2196f30d);border:1px solid rgba(33,150,243,.3);padding:16px 20px;border-radius:12px}.banner-icon{font-size:2rem;animation:bannerPulse 2s ease-in-out infinite}.banner-text{font-size:1rem;line-height:1.4;color:var(--text-primary)}.banner-text strong{color:var(--accent-color)}@keyframes bannerPulse{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.forum-form{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow)}.forum-form h3{font-size:1.3rem;margin-bottom:4px}.forum-error-msg{background-color:#f443361a;border:1px solid var(--error-color);color:var(--error-color);padding:12px;border-radius:8px;font-size:.9rem}.forum-form-group{display:flex;flex-direction:column;gap:8px}.forum-form-group label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.forum-form-group input,.forum-form-group textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background-color:var(--bg-primary);color:var(--text-primary);font-family:inherit;font-size:1rem;outline:none;transition:border-color .2s}.forum-form-group input:focus,.forum-form-group textarea:focus{border-color:var(--accent-color)}.spam-protection{background-color:var(--bg-primary);border:1px solid var(--border-color);padding:12px 16px;border-radius:8px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}.spam-protection label{font-size:.9rem;font-weight:600;color:var(--text-secondary)}.captcha-row{display:flex;align-items:center;gap:8px}.captcha-problem{font-size:1.1rem;font-weight:700;font-family:monospace}.captcha-row input{width:70px;padding:8px;text-align:center;font-size:1.1rem;font-weight:700;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);outline:none}.captcha-row input:focus{border-color:var(--accent-color)}.forum-submit-btn{background:linear-gradient(135deg,var(--accent-color),var(--accent-hover));color:#fff;border:none;padding:14px;font-size:1.1rem;font-weight:700;border-radius:8px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px #2196f333}.forum-submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #2196f34d}.forum-submit-btn:active{transform:scale(.98)}.forum-submit-btn:disabled{opacity:.6;cursor:not-allowed}.forum-feed-section{display:flex;flex-direction:column;gap:16px}.forum-feed-section h2{font-size:1.5rem;margin-top:10px}.forum-loader{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px}.forum-spinner{width:40px;height:40px;border:4px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:forumSpin 1s linear infinite}@keyframes forumSpin{to{transform:rotate(360deg)}}.forum-empty-state{text-align:center;padding:40px;background-color:var(--bg-secondary);border-radius:12px;border:1px dashed var(--border-color);color:var(--text-secondary)}.forum-messages-list{display:flex;flex-direction:column;gap:16px}.forum-message-card{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.message-header-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.message-user-info{display:flex;align-items:center;gap:12px}.user-avatar{width:44px;height:44px;background-color:var(--accent-color);color:#fff;font-size:1.3rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-name{font-size:1rem;font-weight:700;margin-bottom:2px}.message-date{font-size:.8rem;color:var(--text-secondary)}.message-body{font-size:1rem;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.message-developer-reply{background-color:#2196f30d;border-left:4px solid var(--accent-color);padding:12px 16px;border-radius:0 8px 8px 0;margin-top:4px;display:flex;flex-direction:column;gap:6px}.reply-header{display:flex;align-items:center;gap:8px}.reply-avatar-icon{font-size:1.1rem}.reply-header h5{font-size:.9rem;font-weight:700;color:var(--accent-color);margin:0}.reply-body-text{font-size:.95rem;line-height:1.4;color:var(--text-primary)}.admin-login-form{background-color:var(--bg-secondary);border:1px solid var(--error-color);padding:16px;border-radius:12px;display:flex;flex-direction:column;gap:10px}.admin-input-row{display:flex;gap:8px}.admin-input-row input{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-primary);color:var(--text-primary);outline:none}.admin-input-row button{padding:8px 16px;border:none;background-color:var(--accent-color);color:#fff;border-radius:6px;cursor:pointer;font-weight:600}.admin-input-row .cancel-btn{background-color:transparent;border:1px solid var(--border-color);color:var(--text-secondary)}.delete-message-btn{background:none;border:1px solid var(--error-color);color:var(--error-color);padding:4px 10px;border-radius:12px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s}.delete-message-btn:hover{background-color:var(--error-color);color:#fff}.reply-trigger-btn{background:none;border:1px dashed var(--accent-color);color:var(--accent-color);padding:6px 12px;border-radius:8px;font-size:.85rem;align-self:flex-start;cursor:pointer;font-weight:600;transition:all .2s}.reply-trigger-btn:hover{background-color:#2196f31a}.admin-reply-input-box{display:flex;flex-direction:column;gap:8px;background-color:var(--bg-primary);padding:12px;border-radius:8px;border:1px solid var(--border-color)}.admin-reply-input-box textarea{width:100%;padding:8px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);outline:none}.admin-reply-actions{display:flex;gap:8px;justify-content:flex-end}.admin-reply-actions button{padding:6px 12px;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;font-weight:600}.admin-reply-actions .send-btn{background-color:var(--accent-color);color:#fff}.admin-reply-actions .cancel-btn{background-color:transparent;color:var(--text-secondary)}.image-preview-wrapper{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px}.forum-image-preview{max-width:150px;max-height:150px;border-radius:8px;border:2px solid var(--border-color);object-fit:cover}.remove-image-btn{background:none;border:none;color:var(--error-color);font-size:.85rem;font-weight:600;cursor:pointer}.remove-image-btn:hover{text-decoration:underline}.message-attached-image-container{margin-top:12px;max-width:100%}.attached-image{max-width:100%;max-height:400px;border-radius:12px;border:1px solid var(--border-color);cursor:zoom-in;transition:opacity .2s}.attached-image:hover{opacity:.9}.message-replies-thread{margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.message-replies-thread h5{font-size:.95rem;font-weight:700;color:var(--text-secondary);margin:0}.replies-list{display:flex;flex-direction:column;gap:12px;padding-left:16px;border-left:2px solid var(--border-color)}.reply-card{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.reply-card.reply-is-admin{background-color:#2196f308;border-color:#2196f333}.reply-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.reply-user-info{display:flex;align-items:center;gap:8px}.reply-avatar-letter{width:24px;height:24px;background-color:var(--text-secondary);color:#fff;font-size:.75rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}.reply-card.reply-is-admin .reply-avatar-letter{background-color:var(--accent-color)}.reply-user-name{font-size:.85rem;font-weight:700}.reply-card.reply-is-admin .reply-user-name{color:var(--accent-color)}.reply-date{font-size:.75rem;color:var(--text-secondary)}.reply-card-body{font-size:.95rem;line-height:1.4;color:var(--text-primary)}.reply-attached-image-container{margin-top:8px}.reply-attached-image{max-width:150px;max-height:150px;border-radius:6px;border:1px solid var(--border-color);cursor:zoom-in}.reply-form-box{background-color:var(--bg-primary);border:1px solid var(--border-color);padding:16px;border-radius:12px;margin-top:12px;display:flex;flex-direction:column;gap:12px;animation:replyFadeIn .25s ease-out}@keyframes replyFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.reply-form-box h4{font-size:1rem;font-weight:700;margin:0}.reply-form-group{display:flex;flex-direction:column;gap:6px}.reply-form-group input[type=text],.reply-form-group textarea{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background-color:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:.9rem;outline:none}.reply-form-group input[type=text]:focus,.reply-form-group textarea:focus{border-color:var(--accent-color)}.reply-image-label{font-size:.8rem;font-weight:600;color:var(--text-secondary)}.reply-image-preview-container{display:flex;align-items:center;gap:8px;margin-top:6px}.reply-image-preview-img{max-width:60px;max-height:60px;border-radius:4px;object-fit:cover}.reply-form-actions{display:flex;gap:8px;justify-content:flex-end}.reply-form-actions button{padding:8px 16px;font-size:.85rem;font-weight:700;border-radius:6px;cursor:pointer;border:none}.send-reply-btn{background-color:var(--accent-color);color:#fff}.cancel-reply-btn{background-color:transparent;border:1px solid var(--border-color)!important;color:var(--text-secondary)}.manual-protocol-container{display:flex;flex-direction:column;height:100vh;background-color:var(--bg-color, #ffffff);color:var(--text-color, #333333);overflow:hidden}[data-theme=dark] .manual-protocol-container{--bg-color: #1e1e1e;--text-color: #eeeeee}.manual-protocol-header{display:flex;align-items:center;justify-content:center;padding:10px;background-color:var(--header-bg, #f5f5f5);border-bottom:1px solid var(--border-color, #ddd)}[data-theme=dark] .manual-protocol-header{--header-bg: #2d2d2d;--border-color: #444}.manual-protocol-header h2{margin:0;font-size:1.2rem}.back-btn{background:none;border:none;color:#4a90e2;font-size:1rem;cursor:pointer}.protocol-actions{display:flex;gap:6px;width:100%;max-width:100%}.action-btn{padding:10px 4px;border:none;border-radius:8px;cursor:pointer;font-weight:600;color:#fff;font-size:.85rem;flex:1;min-width:0;white-space:normal;word-wrap:break-word;height:auto;min-height:44px;line-height:1.1;text-align:center;display:flex;align-items:center;justify-content:center}.new-btn{background-color:#e74c3c}.save-btn{background-color:#3498db}.dropdown-container{position:relative;flex:1}.share-btn{background-color:#27ae60;width:100%}.dropdown-menu{position:absolute;top:100%;right:0;margin-top:5px;background-color:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;display:flex;flex-direction:column;min-width:180px;overflow:hidden}[data-theme=dark] .dropdown-menu{background-color:#2d2d2d;box-shadow:0 4px 12px #0006}.dropdown-item{padding:12px 16px;border:none;background:none;text-align:left;font-size:1rem;color:inherit;cursor:pointer;transition:background-color .2s}.dropdown-item:active{background-color:#0000000d}[data-theme=dark] .dropdown-item:active{background-color:#ffffff0d}.dropdown-item:not(:last-child){border-bottom:1px solid var(--border-color, #eee)}.manual-protocol-content{flex:1;overflow-y:auto;padding:20px}.protocol-info-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-bottom:20px}.info-field{display:flex;flex-direction:column;gap:5px}.info-field label{font-size:.9rem;color:var(--label-color, #666)}[data-theme=dark] .info-field label{--label-color: #aaa}.info-field input,.info-field select{padding:8px;border:1px solid var(--border-color, #ccc);border-radius:4px;background-color:var(--input-bg, #fff);color:var(--text-color, #333)}[data-theme=dark] .info-field input,[data-theme=dark] .info-field select{--input-bg: #333;--border-color: #555;--text-color: #eee}.protocol-table-wrapper{overflow-x:auto;margin-bottom:20px;-webkit-overflow-scrolling:touch}.manual-protocol-table{width:100%;border-collapse:collapse;min-width:600px}.manual-protocol-table th,.manual-protocol-table td{border:1px solid var(--border-color, #ddd);padding:8px;text-align:center}[data-theme=dark] .manual-protocol-table th,[data-theme=dark] .manual-protocol-table td{--border-color: #444}.manual-protocol-table th{background-color:var(--th-bg, #f9f9f9)}[data-theme=dark] .manual-protocol-table th{--th-bg: #2a2a2a}.manual-protocol-table input{width:100%;box-sizing:border-box;padding:6px;border:1px solid transparent;background-color:transparent;color:inherit;text-align:center}.manual-protocol-table input:focus{border-color:#4a90e2;outline:none}.delete-row-btn{background:#e74c3c;color:#fff;border:none;border-radius:50%;width:24px;height:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;margin:0 auto}.add-row-btn{padding:10px 20px;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;width:100%;max-width:300px;display:block;margin:0 auto}.protocol-history-container{display:flex;flex-direction:column;height:100vh;background-color:#f4f6f8;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}[data-theme=dark] .protocol-history-container{background-color:#1a1a1a;color:#eee}.history-header{display:flex;align-items:center;padding:15px 20px;background:#fff;box-shadow:0 2px 4px #0000000d;z-index:10}[data-theme=dark] .history-header{background:#2a2a2a;box-shadow:0 2px 4px #0003}.history-header h2{margin:0;font-size:1.2rem;flex-grow:1;text-align:center;padding-right:40px}.back-btn{background:none;border:none;font-size:1rem;color:#3498db;cursor:pointer;padding:5px 10px;margin-right:auto;font-weight:500}.history-content{flex-grow:1;overflow-y:auto;padding:20px}.empty-history{display:flex;justify-content:center;align-items:center;height:100%;color:#888;font-size:1.1rem}.history-list{display:flex;flex-direction:column;gap:15px}.history-card{background:#fff;border-radius:12px;padding:15px;box-shadow:0 4px 6px #0000000d;display:flex;flex-direction:column;gap:10px}[data-theme=dark] .history-card{background:#2a2a2a;box-shadow:0 4px 6px #0003}.card-header{border-bottom:1px solid #eee;padding-bottom:5px}[data-theme=dark] .card-header{border-bottom-color:#444}.card-date{font-weight:600;color:#2980b9}.card-body p{margin:5px 0;font-size:.95rem}.card-actions{display:flex;gap:10px;margin-top:10px}.card-btn{flex:1;padding:10px;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:opacity .2s}.card-btn:active{opacity:.8}.open-btn{background:#2ecc71;color:#fff}.delete-btn{background:#e74c3c;color:#fff}.policy-container{height:100%;width:100%;background-color:var(--bg-color, #121212);color:var(--text-color, #e0e0e0);padding:20px;display:flex;justify-content:center;overflow-y:auto;-webkit-overflow-scrolling:touch}.policy-card{max-width:800px;width:100%;height:fit-content;background:var(--card-bg, #1e1e1e);border-radius:16px;padding:30px;box-shadow:0 10px 30px #0006;margin-bottom:20px}.policy-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:30px;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:20px}.back-button{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;order:2}.back-button:hover{background:#ffffff1a;transform:scale(1.1)}.back-icon{font-size:1.2rem;line-height:1}.policy-header h1{margin:0;font-size:1.6rem;color:#fff;font-weight:700;order:1}.policy-section{margin-bottom:25px}.policy-section h3{color:#2196f3;margin-bottom:10px;font-size:1.2rem}.policy-section p{line-height:1.6;margin-bottom:10px}.policy-section ul{padding-left:20px;margin-bottom:10px}.policy-section li{margin-bottom:10px;line-height:1.5}.policy-section strong{color:#fff}.policy-email-link{color:#2196f3;text-decoration:underline;transition:color .2s}.policy-email-link:hover{color:#64b5f6}@media (max-width: 600px){.policy-card{padding:20px}.policy-header h1{font-size:1.2rem}}.cookie-consent-banner{position:fixed;bottom:20px;left:50%;transform:translate(-50%);width:90%;max-width:850px;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(0,0,0,.08);border-radius:16px;padding:16px 24px;box-shadow:0 10px 30px #00000026;z-index:10000;animation:slideInUp .5s cubic-bezier(.16,1,.3,1) forwards}[data-theme=dark] .cookie-consent-banner{background:#1e1e1eeb;border-color:#ffffff14;box-shadow:0 10px 30px #0006}.cookie-consent-content{display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-consent-text{font-size:.9rem;line-height:1.45;color:#333;margin:0;text-align:left}[data-theme=dark] .cookie-consent-text{color:#ddd}.cookie-consent-link{color:#1976d2;text-decoration:underline;font-weight:500;transition:color .2s ease}[data-theme=dark] .cookie-consent-link{color:#90caf9}.cookie-consent-link:hover{color:#1565c0}[data-theme=dark] .cookie-consent-link:hover{color:#64b5f6}.cookie-consent-btn{background:linear-gradient(135deg,#1976d2,#1565c0);color:#fff;border:none;border-radius:30px;padding:10px 24px;font-size:.9rem;font-weight:700;cursor:pointer;white-space:nowrap;box-shadow:0 4px 12px #1976d24d;transition:all .3s ease}[data-theme=dark] .cookie-consent-btn{background:linear-gradient(135deg,#90caf9,#64b5f6);color:#121212;box-shadow:0 4px 12px #90caf933}.cookie-consent-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #1976d266}[data-theme=dark] .cookie-consent-btn:hover{box-shadow:0 6px 16px #90caf94d}.cookie-consent-btn:active{transform:translateY(0)}@keyframes slideInUp{0%{transform:translate(-50%,100px);opacity:0}to{transform:translate(-50%);opacity:1}}@media (max-width: 768px){.cookie-consent-banner{bottom:15px;padding:16px;border-radius:12px}.cookie-consent-content{flex-direction:column;align-items:stretch;gap:12px;text-align:center}.cookie-consent-text{text-align:center;font-size:.85rem}.cookie-consent-btn{width:100%;padding:12px}}:root{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--text-primary: #212121;--text-secondary: #757575;--border-color: #e0e0e0;--accent-color: #1976d2;--accent-hover: #1565c0;--error-color: #d32f2f;--success-color: #388e3c;--shadow: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15)}[data-theme=dark]{--bg-primary: #121212;--bg-secondary: #1e1e1e;--text-primary: #ffffff;--text-secondary: #b0b0b0;--border-color: #333333;--accent-color: #90caf9;--accent-hover: #64b5f6;--error-color: #ef5350;--success-color: #66bb6a;--shadow: 0 2px 4px rgba(0, 0, 0, .3);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}html{--bg-primary: #ffffff;--bg-secondary: #f5f5f5;--text-primary: #212121;--text-secondary: #757575;--border-color: #e0e0e0;--accent-color: #1976d2;--accent-hover: #1565c0;--error-color: #d32f2f;--success-color: #388e3c;--shadow: 0 2px 4px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary)!important;color:var(--text-primary)!important;transition:background-color .3s ease,color .3s ease;margin:0;padding:0;min-height:100vh}.app{width:100%;height:100vh;overflow:hidden}.mobile-app,.mobile-view{text-size-adjust:none;-webkit-text-size-adjust:130%}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
