#app-container{max-width:875px;margin:20px auto;padding:0 15px}#app-container .card{border:none!important;border-radius:0;padding:10px 0;margin-bottom:20px;background-color:transparent!important;box-shadow:none!important}#app-container h1,#app-container h3{color:var(--link-color);text-align:center}#app-container h4.fieldset-subtitle{font-size:1.1em;color:var(--muted-text);margin-top:25px;margin-bottom:15px;font-weight:600;text-align:left;border-bottom:1px solid var(--border-color);padding-bottom:10px;grid-column:1 / -1}#app-container p.lead{margin:0 0 30px;color:var(--muted-text);font-size:1em;text-align:center}#app-container fieldset{border:1px solid var(--border-color);border-radius:8px;padding:20px 25px 25px;margin-bottom:20px;background-color:rgba(255,255,255,0.5);box-shadow:none!important}[data-theme="dark"] #app-container fieldset{background-color:rgba(255,255,255,0.05);border-color:#3c4043}#app-container legend{font-weight:700;padding:0 10px;color:var(--link-color);font-size:1.2em;margin-left:5px}#app-container .canvas-container{text-align:center;margin-bottom:25px;background-color:rgba(0,0,0,.02);border:1px solid var(--border-color);border-radius:8px;padding:10px;box-shadow:none!important}#app-container .canvas-container canvas{width:100%;display:block;border-radius:5px}#app-container .grid{display:grid;gap:20px}#app-container .grid-cols-1{grid-template-columns:1fr}#app-container .grid-cols-2{grid-template-columns:repeat(2,1fr)}#app-container .grid-cols-3{grid-template-columns:repeat(3,1fr)}#app-container .grid-cols-4{grid-template-columns:repeat(4,1fr)}#app-container label{display:block;margin-bottom:8px;font-weight:600;color:var(--muted-text);font-size:.9em}#app-container input[type="number"],#app-container input[type="text"],#app-container select{width:100%;height:46px;padding:12px;box-sizing:border-box;border-radius:5px;font-size:1em;transition:border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;border:1px solid #ccc;background-color:#fff;color:#333;box-shadow:none}[data-theme="dark"] #app-container input[type="number"],[data-theme="dark"] #app-container input[type="text"],[data-theme="dark"] #app-container select{background-color:#202124;border-color:#3c4043;color:#e8eaed}#app-container select{padding-right:40px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}#app-container input:focus,#app-container select:focus{border-color:#007bff!important;box-shadow:0 0 0 3px rgba(0,123,255,0.25)!important;outline:none}#app-container .input-error{border-color:#dc3545!important;box-shadow:0 0 0 3px rgba(220,53,69,0.25)!important}#app-container .select-wrapper{position:relative}#app-container .select-wrapper::after{content:'';position:absolute;top:50%;right:1rem;width:.5em;height:.5em;border-top:2px solid var(--muted-text);border-right:2px solid var(--muted-text);transform:translateY(-75%) rotate(135deg);transition:transform 0.3s ease;pointer-events:none}#app-container .select-wrapper.is-open::after{transform:translateY(-25%) rotate(-45deg)}#app-container button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 30px;border:none;border-radius:6px;font-size:1em;font-weight:600;cursor:pointer;transition:all 0.15s ease-out;box-shadow:none!important;color:#fff}#app-container button:hover{filter:brightness(1.1)}#app-container button:active{transform:translateY(1px);filter:brightness(.95);box-shadow:none!important}#app-container #calculateBtn{background-color:var(--link-color)}#app-container #resetBtn{background-color:#dc3545}#app-container #action-buttons{display:flex;width:fit-content;margin:30px auto 0 auto;border:1px solid var(--border-color);border-radius:50px;overflow:hidden;box-shadow:none!important;background:transparent}#app-container #action-buttons button::before{content:'';display:inline-block;width:1em;height:1em;background-color:currentColor;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center}#app-container #calculateBtn::before{mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3e%3cpath d='M2 2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V2zm2 .5v2a.5.5 0 0 0 .5.5h7a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 0-.5-.5h-7a.5.5 0 0 0-.5.5zm0 4v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM4.5 9a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM4 12.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zM7.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM7 9.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5zm.5 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zM10.5 6a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5h-1zm.5 2.5a.5.5 0 0 0-.5.5v4a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-4a.5.5 0 0 0-.5-.5h-1z'/%3e%3c/svg%3e")}#app-container #resetBtn::before{mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='currentColor' viewBox='0 0 16 16'%3e%3cpath fill-rule='evenodd' d='M8 3a5 5 0 1 0 4.546 2.914.5.5 0 0 1 .908-.417A6 6 0 1 1 8 2v1z'/%3e%3cpath d='M8 4.466V.534a.25.25 0 0 1 .41-.192l2.36 1.966c.12.1.12.284 0 .384L8.41 4.658A.25.25 0 0 1 8 4.466z'/%3e%3c/svg%3e")}#app-container .btn-add-row,#app-container .btn-remove-row{padding:0;border-radius:5px;width:46px;height:46px;font-size:1.8em;line-height:1}#app-container .btn-add-row{background-color:#28a745}#app-container .btn-remove-row{background-color:#dc3545}#app-container .hidden{display:none!important}#app-container #results-area{margin-top:25px}#app-container .hasil-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px}#app-container .hasil-item{background-color:var(--secondary-bg);padding:15px;border-radius:8px;border-left:4px solid var(--link-color)}[data-theme="dark"] #app-container .hasil-item{background-color:#202124}#app-container .hasil-item.total-cost{background-color:#fff5f5;border-left-color:#dc3545}[data-theme="dark"] #app-container .hasil-item.total-cost{background-color:#3e1b1b}#app-container .hasil-item .label{font-weight:700;color:var(--link-color);display:block;margin-bottom:5px;font-size:.95em}#app-container .hasil-item.total-cost .label{color:#dc3545}#app-container .hasil-item .value{font-size:1.4em;font-weight:700;color:var(--heading-text)}#app-container .hasil-item .unit{font-size:1em;color:var(--muted-text);margin-left:5px}#app-container .error-message{color:#dc3545;text-align:center;margin-top:15px;font-weight:700}#app-container .rab-table{width:100%;border-collapse:collapse;margin-top:15px;font-size:.9em}#app-container .rab-table th,#app-container .rab-table td{padding:10px!important;text-align:left;border:1px solid var(--border-color)!important;vertical-align:middle!important;color:var(--heading-text)}.aswt-table-wrap:has(#app-container .rab-table),#app-container .aswt-table-wrap{overflow:visible!important}#app-container .rab-table th{background-color:var(--tertiary-bg)}#app-container .rab-table .group-header{font-weight:700;background-color:var(--tertiary-bg)}#app-container .rab-table .total-row,#app-container .rab-table .unit-price-row{font-weight:700;background-color:rgba(11,87,208,0.05);font-size:1.05em;color:var(--heading-text)}#app-container .rab-table .total-final-row{font-weight:700;background-color:rgba(11,87,208,0.1);font-size:1.1em;color:var(--heading-text)}#app-container .rab-table td:nth-child(3),#app-container .rab-table td:nth-child(4){text-align:right}#app-container .rab-table .highlight-value{color:var(--link-color);font-weight:600}#app-container .total-value-material{color:#007bff;font-weight:700}#app-container .total-value-upah{color:#ff7f0e;font-weight:700}#app-container .total-value-keseluruhan{color:#e53e3e;font-weight:700}#app-container .radio-group{display:flex;gap:15px;align-items:center;flex-wrap:wrap}#app-container .radio-group input[type="radio"]{display:none}#app-container .radio-group label{cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:400;margin-bottom:0;color:var(--muted-text)}#app-container .radio-group .radio-icon{width:20px;height:20px;border-radius:50%;border:2px solid var(--border-color);transition:all 0.2s ease;position:relative}#app-container .radio-group input[type="radio"]:checked+.radio-icon{border-color:var(--link-color);background-color:#fff}#app-container .radio-group input[type="radio"]:checked+.radio-icon::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background-color:var(--link-color)}#mutu-deskripsi{font-size:.85em;color:var(--link-color);margin-top:8px;font-style:italic}#app-container fieldset.collapsible{position:relative;padding-top:20px;transition:padding 0.3s ease}#app-container fieldset.collapsible .toggle-button{position:absolute;top:18px;right:20px;width:28px;height:28px;border-radius:50%;background-color:var(--secondary-bg);border:1px solid var(--border-color);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:top 0.3s ease,transform 0.3s ease;color:var(--link-color)}#app-container fieldset.collapsible .toggle-button:hover{background-color:var(--tertiary-bg)}#app-container fieldset.collapsible .toggle-button::after{content:'';display:block;width:8px;height:8px;border-bottom:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(2px) rotate(-135deg);transition:transform 0.3s ease}#app-container fieldset.collapsible.collapsed{padding-top:12px;padding-bottom:50px}#app-container fieldset.collapsible.collapsed .toggle-button{top:50%;transform:translateY(-50%)}#app-container fieldset.collapsible.collapsed .toggle-button::after{transform:translateY(-2px) rotate(45deg)}#app-container fieldset.collapsible.collapsed>legend{margin-bottom:0}#app-container fieldset.collapsible.collapsed>.fieldset-content{display:none}#app-container fieldset.collapsible>legend{cursor:pointer}#app-container .checkbox-label{display:flex;align-items:center;gap:8px;font-weight:400;height:46px;color:var(--muted-text)}#app-container .input-with-unit{display:flex;gap:0}#app-container .input-with-unit input{border-top-right-radius:0;border-bottom-right-radius:0}#app-container .unit-select{border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;width:auto}@media (max-width:700px){#app-container .grid-cols-2,#app-container .grid-cols-3,#app-container .grid-cols-4{grid-template-columns:1fr}#app-container .dynamic-item,#app-container .dynamic-item.dinding-item,#app-container .dynamic-item.kayu-item,#app-container .dynamic-item.besi-item.hollow,#app-container .dynamic-item.besi-item.pipa{grid-template-columns:1fr;gap:15px}#app-container .rab-table thead{display:none!important}#app-container .rab-table,#app-container .rab-table tbody,#app-container .rab-table tr,#app-container .rab-table td{display:block!important;width:100%!important}#app-container .rab-table tr{margin-bottom:15px;border:1px solid var(--border-color)!important;border-radius:5px;overflow:visible!important}#app-container .rab-table td{text-align:right!important;padding:8px 10px 8px calc(50%+10px)!important;position:relative!important;box-sizing:border-box!important;min-height:1.5em;white-space:normal!important;word-break:break-word;border:none!important;border-bottom:1px solid var(--border-color)!important}#app-container .rab-table td:last-child{border-bottom:none!important}#app-container .rab-table td::before{content:attr(data-label);position:absolute;top:8px;left:10px;width:calc(50% - 20px);padding-right:10px;font-weight:600;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--muted-text)}}