.visual-gavl{position:absolute;bottom:0;width:8px;background:linear-gradient(135deg,#d0d0d0,#b0b0b0);border:1px solid #a0a0a0;box-sizing:border-box;background-image:linear-gradient(to bottom,#c0c0c0 1px,transparent 1px);background-size:100% 15px;border-radius:2px 2px 0 0}.visual-hylle{position:absolute;height:12px;background:linear-gradient(135deg,#e8e8e8,#d0d0d0);border:1px solid #a0a0a0;border-bottom:2px solid #a0a0a0;box-sizing:border-box;border-radius:2px}.visual-ryggkryss{position:absolute;top:40%;height:55%;background-image:linear-gradient(to top right,transparent 49%,#a0a0a0 49%,#a0a0a0 51%,transparent 51%),linear-gradient(to top left,transparent 49%,#a0a0a0 49%,#a0a0a0 51%,transparent 51%);background-size:100% 100%;background-repeat:no-repeat;opacity:.8}.visual-pallet-upright{position:absolute;bottom:0;background:linear-gradient(to right,#f0f0f0,#d0d0d0,#e8e8e8);border:1px solid #b0b0b0;box-sizing:border-box;border-radius:2px 2px 0 0;box-shadow:2px 0 4px rgba(0,0,0,.2)}.upright-slot{position:absolute;background-color:#666;border-radius:1px;box-shadow:inset 0 1px 2px rgba(0,0,0,.6)}.visual-pallet-beam-front{position:absolute;background:linear-gradient(to bottom,#ff8c00 0%,#ff6b00 30%,#e55a00 100%);border:1px solid #c40;border-radius:4px 4px 8px 8px;box-shadow:0 2px 6px rgba(0,0,0,.4);z-index:2}.beam-hook{position:absolute;background-color:#c40;border:1px solid #a30;z-index:3;box-shadow:0 1px 3px rgba(0,0,0,.5)}.pallet-floor{position:absolute;background:linear-gradient(to bottom,#999,#777);z-index:0;box-shadow:0 1px 3px rgba(0,0,0,.2)}.dimension-line-height{position:absolute;left:-15px;top:5%;height:90%;width:2px;background:#666;z-index:10}.dimension-line-height::before,.dimension-line-height::after{content:"";position:absolute;width:8px;height:2px;background:#666;left:-3px}.dimension-line-height::before{top:0}.dimension-line-height::after{bottom:0}.dimension-line-width{position:absolute;bottom:-15px;left:5%;width:90%;height:2px;background:#666;z-index:10}.dimension-line-width::before,.dimension-line-width::after{content:"";position:absolute;height:8px;width:2px;background:#666;top:-3px}.dimension-line-width::before{left:0}.dimension-line-width::after{right:0}.reolbygger-notice-warning{background-color:#fff8e1;border-color:#ffb300;color:#e65100}.reolbygger-error{color:#d63638;background-color:#fcf0f1;border:1px solid #d63638;padding:12px 16px;border-radius:4px;margin:12px 0;border-left:4px solid #d63638}.reolbygger-success{color:#00a32a;background-color:#f0f6fc;border:1px solid #00a32a;padding:12px 16px;border-radius:4px;margin:12px 0;border-left:4px solid #00a32a}.reolbygger-loading{opacity:.7;pointer-events:none;position:relative}.reolbygger-spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:reolbygger-spin 1s ease-in-out infinite;margin-right:8px}.reolbygger-validation-error{border-color:#d63638!important;box-shadow:0 0 0 2px rgba(214,54,56,.2)!important}.character-counter{font-size:12px;color:#666;margin-top:4px;text-align:right}#reolbygger-summary-details table,#pallet-summary-details table{width:100%;border-collapse:collapse;margin-top:1em;font-size:.9em}#reolbygger-summary-details th,#pallet-summary-details th{background-color:#f5f5f5;font-weight:600;text-align:left;padding:10px 8px;border-bottom:2px solid #1e40af}#reolbygger-summary-details td,#pallet-summary-details td{padding:8px;border-bottom:1px solid #e0e0e0}#reolbygger-summary-details tr:hover,#pallet-summary-details tr:hover{background-color:#f9f9f9}@media (max-width:768px){#reolbygger-summary-details table,#pallet-summary-details table{min-width:300px}}@media (prefers-contrast:high){.visual-gavl,.visual-hylle,.visual-ryggkryss{border-width:2px}}@media (prefers-reduced-motion:reduce){.reolbygger-spinner{animation:none;border:2px solid #005fcc;border-radius:50%}}.capacity-panel{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;padding:1em;margin-bottom:1em}.capacity-panel h4{margin:0 0 .5em;color:#495057;font-size:1.1em}.capacity-info{margin-bottom:.8em}.capacity-row{display:flex;justify-content:space-between;margin-bottom:.3em;font-size:.9em}.capacity-row span:first-child{color:#6c757d}.capacity-row span:last-child{font-weight:600}.safe-capacity{color:#28a745}.near-capacity{color:#ffc107}.over-capacity{color:#dc3545}.capacity-meter{width:100%;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden;margin-top:.5em}.capacity-bar{height:100%;transition:width .3s ease}.capacity-bar.safe-capacity{background:#28a745}.capacity-bar.near-capacity{background:#ffc107}.capacity-bar.over-capacity{background:#dc3545}.capacity-warnings{margin-top:.8em}.capacity-warning{background:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:.5em;border-radius:4px;margin-bottom:.3em;font-size:.85em}.capacity-warning.overload{background:#f8d7da;border-color:#f1aeb5;color:#721c24}.capacity-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:10000;backdrop-filter:blur(2px)}.capacity-modal{background:#fff;border-radius:8px;padding:2em;max-width:500px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 10px 25px rgba(0,0,0,.2)}.capacity-modal h3{margin:0 0 1em;color:#dc3545;font-size:1.3em}.capacity-modal h4{margin:1.5em 0 1em;color:#495057;font-size:1.1em}.solution-options{margin:1em 0 1.5em}.solution-option{display:flex;align-items:center;gap:.5em;padding:.8em;border:1px solid #dee2e6;border-radius:4px;margin-bottom:.5em;cursor:pointer;transition:all .2s ease}.solution-option:hover{background:#f8f9fa;border-color:#06c}.solution-option input[type=radio]{margin:0}.modal-actions{display:flex;gap:.5em;justify-content:flex-end;margin-top:1.5em;flex-wrap:wrap}.modal-actions button{padding:.6em 1.2em;border:none;border-radius:4px;cursor:pointer;font-size:.9em;transition:all .2s ease}.btn-apply-solution{background:#28a745;color:white}.btn-apply-solution:hover{background:#218838}.btn-manual-adjust{background:#6c757d;color:white}.btn-manual-adjust:hover{background:#5a6268}.btn-close-modal{background:#f8f9fa;color:#6c757d;border:1px solid #dee2e6}.btn-close-modal:hover{background:#e9ecef}.custom-capacity-indicator{margin-top:.3em;padding:.3em .5em;background:#fff3cd;border:1px solid #ffeaa7;border-radius:3px;font-size:.8em}.custom-capacity-indicator small{display:block;font-weight:500}@media (max-width:768px){.capacity-modal{width:95%;padding:1.5em}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.grenreol-floor{position:absolute;bottom:18px;left:10px;width:calc(100% - 20px);height:2px;background-color:#6c757d;z-index:0}.grenreol-upright{position:absolute;background:linear-gradient(to right,#2e5b8a 0%,#4a7bb7 50%,#2e5b8a 100%);border:2px solid #1a3a5c;border-radius:4px;box-shadow:2px 0 4px rgba(0,0,0,.2);z-index:3}.grenreol-upright::before{content:"";position:absolute;top:0;left:2px;right:2px;bottom:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 74px,#1a3a5c 74px,#1a3a5c 76px);border-radius:2px}.grenreol-arm-right,.grenreol-arm-left{position:absolute;background:linear-gradient(to bottom,#ff8000 0%,#f60 50%,#c40 100%);border:1px solid #a30;border-radius:2px 0 0 2px;box-shadow:0 2px 4px rgba(0,0,0,.2);z-index:2}.grenreol-arm-left{border-radius:0 2px 2px 0}.grenreol-arm-right::after,.grenreol-arm-left::after{content:"";position:absolute;top:2px;left:2px;right:2px;bottom:2px;background:linear-gradient(to top,transparent 0%,rgba(255,255,255,.3) 100%);border-radius:1px}.grenreol-bracket-right,.grenreol-bracket-left{position:absolute;background:linear-gradient(to bottom,#666 0%,#444 50%,#222 100%);border:1px solid #000;border-radius:1px;box-shadow:1px 1px 2px rgba(0,0,0,.3);z-index:3}.grenreol-bracing{position:absolute;background:linear-gradient(to bottom,#888 0%,#666 50%,#444 100%);border:1px solid #333;border-radius:1px;z-index:1;opacity:.8}#reolbygger-grenreol-container .reolbygger-warning-box{background:linear-gradient(135deg,#fff3e0 0%,#ffebee 100%);border:1px solid #ffb74d;border-radius:6px;padding:1.2em;margin:1.5em 0;font-size:.95em}#reolbygger-grenreol-container .reolbygger-warning-box strong{color:#d32f2f}