/* Kalkulator Kudo: tambahan di atas theme.css Kudo */
.c-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start;padding-bottom:48px}
.c-layout>*,.c-cols>*,.c-grid>*,.c-stats>*{min-width:0}
.c-side{position:sticky;top:88px;max-height:calc(100dvh - 104px);overflow:auto;border:1px solid var(--line);border-radius:20px;background:var(--surface);padding:16px}
.c-side input[type=search]{margin-bottom:12px}
.c-group{margin:0 0 12px}.c-group h2{font-size:12px!important;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)!important;margin:12px 8px 6px!important}
.c-group a{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;color:var(--text);text-decoration:none;font-size:14px;min-height:40px}
.c-group a:hover{background:var(--blue-surface)}.c-group a[aria-current=true]{background:var(--ink);color:var(--paper)}
.c-group a[aria-current=true] .k-icon{color:#82c8ff}
.c-empty{font-size:13px;color:var(--muted);padding:8px}
.c-panel>header{margin-bottom:16px}.c-panel>header h2{margin-bottom:6px}.c-panel>header p{color:var(--muted);margin:0}
.c-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:4px 16px}
.c-grid .k-field{margin-bottom:12px}.c-field-unit{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.c-field-unit>input,.c-field-unit>select{flex:1 1 80px}.c-field-unit span{font-size:12px;color:var(--muted)}
.c-help{font-size:12px;color:var(--muted)}
.c-cols{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:24px;align-items:start}
.c-cols>.k-card{padding:24px}
.c-cols>.k-card>*,.c-results [data-out]{min-width:0;max-width:100%}
.c-results{position:sticky;top:88px;overflow-wrap:anywhere}
.c-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));gap:12px;margin-bottom:16px}
.c-stat{min-width:0;border:1px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--paper);overflow-wrap:anywhere;white-space:normal}
.c-stat b{display:block;font-size:20px;color:var(--ink);letter-spacing:-.02em;line-height:1.3;overflow-wrap:anywhere}
.c-stat span{font-size:12px;color:var(--muted)}.c-stat small{display:block;color:var(--muted);margin-top:2px}
.c-stat.ok{background:var(--mint);border-color:#b5e5d5}.c-stat.warn{background:var(--amber);border-color:#f3d79c}.c-stat.bad{background:#fde3e5;border-color:#f3b8bd}.c-stat.bad b{color:var(--danger)}
.c-stat.hl{background:var(--blue-surface);border-color:#c7d8ff}
/* Editors use shared grid tracks, never an overflow/scroll wrapper. */
.c-rows-wrap{container:c-rows / inline-size;min-width:0;max-width:100%;margin-bottom:12px}
.c-rows{display:grid;gap:8px;min-width:0;margin-bottom:12px;font-size:13px}
.c-rows-head,.c-row{display:grid;grid-template-columns:var(--c-row-columns);gap:8px;align-items:center;min-width:0}
.c-rows-head{font-size:12px;color:var(--muted);font-weight:600;padding-bottom:6px}
.c-rows-head>*,.c-row>*{min-width:0;overflow-wrap:anywhere}
.c-row-field{display:grid;gap:4px;margin:0;min-width:0}
.c-row-label{display:none;font-size:12px;font-weight:600;color:var(--ink)}
.c-rows input,.c-rows select{min-height:44px!important;padding:6px 8px!important;font-size:13px}
.c-rows .c-del{width:44px;min-width:44px;min-height:44px;padding:4px}
@container c-rows (max-width:560px){
 .c-rows-head{display:none}
 .c-row{position:relative;grid-template-columns:repeat(var(--c-row-numbers),minmax(0,1fr));align-items:end;gap:12px 8px;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:64px 12px 12px}
 .c-row--wide{padding-top:12px}
 .c-row-field--wide{grid-column:1/-1;grid-row:1}
 .c-row-label{display:block}
 .c-row-field--wide .c-row-label{display:flex;align-items:center;min-height:44px;padding-right:56px}
 .c-rows .c-del{position:absolute;top:12px;right:12px}
}
/* Older browsers keep compact desktop cards stacked too. */
@supports not (container-type:inline-size){
 @media(max-width:560px),(min-width:1200px){
  .c-rows-head{display:none}
  .c-row{position:relative;grid-template-columns:repeat(var(--c-row-numbers),minmax(0,1fr));align-items:end;gap:12px 8px;border:1px solid var(--line);border-radius:14px;background:var(--paper);padding:64px 12px 12px}
  .c-row--wide{padding-top:12px}
  .c-row-field--wide{grid-column:1/-1;grid-row:1}
  .c-row-label{display:block}
  .c-row-field--wide .c-row-label{display:flex;align-items:center;min-height:44px;padding-right:56px}
  .c-rows .c-del{position:absolute;top:12px;right:12px}
 }
}
.c-sub{font-size:15px!important;margin:16px 0 10px!important}
.c-info{margin-top:24px}.c-info summary{font-weight:600;color:var(--ink);cursor:pointer;min-height:44px;display:flex;align-items:center}
.c-info .k-rich{font-size:14px;color:var(--text)}.c-info code{background:var(--blue-surface);padding:1px 6px;border-radius:6px;font-size:13px}
.c-info ul{padding-left:20px}.c-info li{margin-bottom:6px}
.c-disclaimer{font-size:12px;color:var(--muted);border-left:3px solid var(--line);padding-left:12px;margin-top:16px}
.c-seg{display:inline-flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.c-seg button{border:1px solid var(--muted);background:var(--surface);border-radius:10px;padding:6px 12px;font-size:13px;font-weight:600;min-height:40px;color:var(--text)}
.c-seg button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.c-mobile-nav{display:none}
.c-table td.num,.c-table th.num{text-align:right}
.c-results .k-table-scroll{min-width:0;max-width:100%}
.c-table:not(.k-table-compact){table-layout:fixed}
.c-table:not(.k-table-compact) th,.c-table:not(.k-table-compact) td{padding:10px 6px;white-space:normal;overflow-wrap:anywhere}
.c-err{color:var(--danger);font-weight:600}
@media(max-width:1199.98px){.c-cols{grid-template-columns:minmax(0,1fr)}.c-results{position:static}}
@media(max-width:1000px){.c-layout{grid-template-columns:1fr;gap:16px}.c-side{position:static;max-height:none}
 .c-side{display:none}.c-side.is-open{display:block}.c-mobile-nav{display:flex;gap:8px;align-items:center;position:sticky;top:64px;z-index:30;background:var(--paper);padding:8px 0;border-bottom:1px solid var(--line)}
 .c-mobile-nav .k-btn{flex:1;justify-content:space-between}}
@media(max-width:760px){.c-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.c-cols>.k-card{padding:16px}.c-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.c-stat b{font-size:17px}}
@media(max-width:380px){.c-grid{grid-template-columns:1fr}}
@media print{.c-side,.c-mobile-nav{display:none!important}.c-layout{grid-template-columns:1fr}}
