/* ════════════════════════════════════════════════════════════
   COMPAT LAYER: dui-* and sda-* aliases — HSL token system
   All old DaisyUI and old SDA classes mapped to new styles
   ════════════════════════════════════════════════════════════ */

/* ── DaisyUI button aliases ─────────────────────────────── */
.dui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;white-space:nowrap;border-radius:var(--radius);font-size:.8125rem;font-weight:500;transition:background .12s,color .12s;cursor:pointer;text-decoration:none;border:1px solid transparent;font-family:inherit;outline:none;height:2.25rem;padding:0 1rem}
.dui-btn:disabled{opacity:.5;pointer-events:none}
.dui-btn-primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}
.dui-btn-primary:hover{opacity:.9}
.dui-btn-ghost{background:transparent;color:hsl(var(--foreground))}
.dui-btn-ghost:hover{background:hsl(var(--muted))}
.dui-btn-outline{background:hsl(var(--background));border-color:hsl(var(--input));color:hsl(var(--foreground))}
.dui-btn-outline:hover{background:hsl(var(--muted))}
.dui-btn-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground))}
.dui-btn-success{background:hsl(var(--success));color:#fff}
.dui-btn-success:hover{opacity:.9}
.dui-btn-error{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}
.dui-btn-error:hover{opacity:.9}
.dui-btn-warning{background:hsl(var(--warning));color:hsl(var(--warning-foreground))}
.dui-btn-info{background:hsl(var(--info));color:#fff}
.dui-btn-sm{height:2rem;padding:0 .75rem;font-size:.75rem}
.dui-btn-xs{height:1.75rem;padding:0 .5rem;font-size:.7rem}
.dui-btn-square{width:2.25rem;height:2.25rem;padding:0}
.dui-btn-sm.dui-btn-square{width:2rem;height:2rem}
.dui-btn-xs.dui-btn-square{width:1.75rem;height:1.75rem}
.dui-btn-block{width:100%;justify-content:center}
.dui-btn-circle{border-radius:9999px}
.dui-btn-active{box-shadow:inset 0 2px 4px rgb(0 0 0/.15)}

/* ── DaisyUI badge aliases ──────────────────────────────── */
.dui-badge{display:inline-flex;align-items:center;padding:.2em .5em;border-radius:99px;font-size:.7rem;font-weight:600;border:1px solid transparent}
.dui-badge-ghost{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border-color:hsl(var(--border))}
.dui-badge-primary{background:hsl(var(--foreground));color:hsl(var(--background))}
.dui-badge-success{background:hsl(var(--success)/.1);color:hsl(142 60% 32%)}
.dui-badge-warning{background:hsl(var(--warning)/.1);color:hsl(32 80% 35%)}
.dui-badge-error{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}
.dui-badge-info{background:hsl(var(--info)/.1);color:hsl(var(--info))}
.dui-badge-sm{font-size:.65rem;padding:.1em .4em}
.dui-badge-xs{font-size:.6rem;padding:.1em .35em}

/* ── Role badges (user_role 1-5) ─────────────────────────── */
.dui-badge-role-1{background:hsl(262 83% 58% / .12);color:hsl(262 60% 45%)}
.dui-badge-role-2{background:hsl(217 91% 60% / .12);color:hsl(217 75% 45%)}
.dui-badge-role-3{background:hsl(25 95% 53% / .13);color:hsl(25 80% 40%)}
.dui-badge-role-4{background:hsl(173 80% 40% / .13);color:hsl(173 70% 28%)}
.dui-badge-role-5{background:hsl(215 16% 47% / .13);color:hsl(215 25% 38%)}

/* ── DaisyUI table aliases ──────────────────────────────── */
.dui-table{width:100%;border-collapse:collapse;font-size:.8125rem}
.dui-table thead th{padding:.625rem 1rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border));background:transparent}
.dui-table tbody td{padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border)/.5);vertical-align:middle}
.dui-table tbody tr:last-child td{border-bottom:none}
.dui-table tbody tr:hover td{background:hsl(var(--muted)/.4)}
.dui-table-sm thead th{padding:.5rem .875rem}
.dui-table-sm tbody td{padding:.5rem .875rem}

/* ── DaisyUI form/toggle/checkbox aliases ───────────────── */
.dui-checkbox{-webkit-appearance:none;appearance:none;width:1rem;height:1rem;border:1.5px solid hsl(var(--border));border-radius:3px;background:transparent;cursor:pointer;position:relative;flex-shrink:0;transition:all .12s}
.dui-checkbox:checked{background:hsl(var(--foreground));border-color:hsl(var(--foreground))}
.dui-checkbox-primary:checked{background:hsl(var(--primary));border-color:hsl(var(--primary))}
.dui-checkbox-sm{width:.9rem;height:.9rem}
.dui-checkbox-xs{width:.8rem;height:.8rem}
.dui-toggle{-webkit-appearance:none;appearance:none;position:relative;width:2.5rem;height:1.375rem;border-radius:99px;background:hsl(var(--muted));border:1px solid hsl(var(--border));cursor:pointer;transition:background .2s;flex-shrink:0}
.dui-toggle::after{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:1rem;height:1rem;border-radius:50%;background:hsl(var(--muted-foreground));transition:left .2s}
.dui-toggle:checked{background:hsl(var(--foreground));border-color:hsl(var(--foreground))}
.dui-toggle:checked::after{left:calc(100% - 1.125rem);background:hsl(var(--background))}
.dui-toggle-sm{width:2rem;height:1.125rem}
.dui-toggle-primary:checked{background:hsl(var(--primary));border-color:hsl(var(--primary))}

/* ── DaisyUI alert aliases ──────────────────────────────── */
.dui-alert{display:flex;align-items:flex-start;gap:.625rem;padding:.875rem 1rem;border-radius:var(--radius);font-size:.8125rem;border:1px solid transparent}
.dui-alert-success{background:hsl(var(--success)/.08);border-color:hsl(var(--success)/.25);color:hsl(142 60% 32%)}
.dui-alert-error{background:hsl(var(--destructive)/.07);border-color:hsl(var(--destructive)/.2);color:hsl(var(--destructive))}
.dui-alert-warning{background:hsl(var(--warning)/.08);border-color:hsl(var(--warning)/.25);color:hsl(32 80% 32%)}
.dui-alert-info{background:hsl(var(--info)/.08);border-color:hsl(var(--info)/.2);color:hsl(var(--info))}

/* ── DaisyUI modal aliases ──────────────────────────────── */
.dui-modal{padding:0;border:1px solid hsl(var(--border));border-radius:var(--radius);background:hsl(var(--popover));box-shadow:0 20px 60px rgb(0 0 0/.2);max-width:min(90vw,28rem);width:100%;outline:none}
.dui-modal.dui-modal-lg{max-width:min(92vw,56rem)}
.dui-modal::backdrop{background:rgb(0 0 0/.5)}
.dui-modal-box{padding:1.5rem 1.5rem 0.25rem;position:relative;z-index:1}
.dui-modal-backdrop{position:fixed;inset:0;z-index:0;margin:0;padding:0;border:0;background:transparent}
.dui-modal-backdrop button{position:absolute;inset:0;width:100%;height:100%;margin:0;padding:0;border:0;background:transparent;color:transparent;font-size:0;cursor:default}
.dui-modal-action{display:flex;gap:.5rem;justify-content:flex-end;padding:.875rem 1.5rem;border-top:1px solid hsl(var(--border))}
.modal-header-sda,.sd-modal-header{display:flex;align-items:center;gap:.625rem;padding:1rem 1.5rem;border-bottom:1px solid hsl(var(--border));font-size:.9375rem;font-weight:600}
.modal-body-sda,.sd-modal-body{padding:1.25rem 1.5rem}
.modal-footer-sda,.sd-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;padding:.875rem 1.5rem;border-top:1px solid hsl(var(--border));background:hsl(var(--muted)/.3)}

/* ── DaisyUI misc aliases ───────────────────────────────── */
.dui-avatar{display:inline-flex}
.dui-avatar>div{border-radius:9999px;overflow:hidden}
.dui-kbd{display:inline-block;padding:.1em .4em;border:1px solid hsl(var(--border));border-radius:3px;font-size:.75em;background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.dui-kbd-xs{font-size:.65em}
.dui-dropdown{position:relative;display:inline-block}
.dui-dropdown-content{position:absolute;right:0;top:100%;z-index:9999;background:hsl(var(--popover));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 8px 30px rgb(0 0 0/.12);min-width:10rem;overflow:hidden}
.dui-dropdown>.dui-dropdown-content{display:none}
.dui-dropdown:focus-within>.dui-dropdown-content,.dui-dropdown.dui-dropdown-open>.dui-dropdown-content{display:block}
.dui-menu{list-style:none;padding:.25rem;margin:0;display:flex;flex-direction:column;gap:1px}
.dui-menu li>a,.dui-menu li>button{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border-radius:var(--radius);font-size:.8125rem;color:hsl(var(--foreground));text-decoration:none;transition:background .1s;cursor:pointer;border:none;background:transparent;width:100%}
.dui-menu li>a:hover,.dui-menu li>button:hover{background:hsl(var(--muted))}
.dui-menu-sm li>a,.dui-menu-sm li>button{padding:.4rem .625rem;font-size:.75rem}
.dui-menu-title{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:hsl(var(--muted-foreground));padding:.5rem .75rem .25rem}
.dui-menu li>a.active,.dui-menu li>button.active{background:hsl(var(--foreground));color:hsl(var(--background))}
.dui-menu li>a.text-error,.dui-menu li>button.text-error{color:hsl(var(--destructive))}

/* ── Old sda-* class aliases ────────────────────────────── */
.sda-status{display:inline-flex;align-items:center;gap:.3em;padding:.2em .625em;border-radius:99px;font-size:.68rem;font-weight:700;text-transform:uppercase;white-space:nowrap}
.sda-status-active,.sda-status-approved{background:hsl(var(--success)/.1);color:hsl(142 60% 32%)}
.sda-status-draft{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.sda-status-pending{background:hsl(var(--warning)/.12);color:hsl(32 80% 35%)}
.sda-status-rejected{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}
.sda-ext-uploaded{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.sda-ext-extracting{background:hsl(var(--info)/.1);color:hsl(var(--info))}
.sda-ext-extracted{background:hsl(var(--success)/.1);color:hsl(142 60% 32%)}
.sda-ext-failed{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}
.sda-tl-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0}
.sda-tl-dot-hijau{background:hsl(var(--tl-hijau))}
.sda-tl-dot-kuning{background:hsl(var(--tl-kuning))}
.sda-tl-dot-merah{background:hsl(var(--tl-merah))}
.sda-tl-pill{display:inline-flex;align-items:center;gap:.3em;padding:.2em .625em;border-radius:99px;font-size:.68rem;font-weight:700;white-space:nowrap}
.sda-tl-hijau{background:hsl(var(--tl-hijau)/.1);color:hsl(142 60% 32%)}
.sda-tl-kuning{background:hsl(var(--tl-kuning)/.1);color:hsl(32 70% 32%)}
.sda-tl-merah{background:hsl(var(--tl-merah)/.1);color:hsl(0 70% 42%)}
.sda-tl-btn-hijau{background:hsl(var(--tl-hijau)/.08);color:hsl(142 60% 32%);border:1px solid hsl(var(--tl-hijau)/.25)!important}
.sda-tl-btn-kuning{background:hsl(var(--tl-kuning)/.08);color:hsl(32 70% 32%);border:1px solid hsl(var(--tl-kuning)/.25)!important}
.sda-tl-btn-merah{background:hsl(var(--tl-merah)/.08);color:hsl(0 70% 42%);border:1px solid hsl(var(--tl-merah)/.25)!important}
.sda-findings-pill{display:inline-flex;align-items:center;gap:.3em;padding:.2em .625em;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-radius:99px;font-size:.7rem;font-weight:700;white-space:nowrap;border:1px solid hsl(var(--border))}
.sda-file-icon{width:2.25rem;height:2.25rem;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:800;flex-shrink:0;border:1px solid hsl(var(--border))}
.sda-file-icon.docx{background:hsl(215 80% 55%/.1);color:hsl(215 80% 45%)}
.sda-file-icon.pdf{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive))}
.sda-filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:flex-end;padding:1rem 1.25rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:1.25rem}
.sda-filter-bar>.filter-input{width:auto}
.sda-filter-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.25em .625em;background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:1px solid hsl(var(--border));border-radius:99px;font-size:.72rem;font-weight:500;text-decoration:none;cursor:pointer}
.sda-view-toggle{display:inline-flex;border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}
.sda-view-toggle button{display:flex;align-items:center;justify-content:center;padding:.375rem .625rem;background:transparent;color:hsl(var(--muted-foreground));border:none;cursor:pointer}
.sda-view-toggle button.active{background:hsl(var(--foreground));color:hsl(var(--background))}
.sda-view-toggle button:hover:not(.active){background:hsl(var(--muted))}
.sda-pending-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid hsl(var(--border)/.5);transition:background .1s}
.sda-pending-row:last-child{border-bottom:none}
.sda-pending-row:hover{background:hsl(var(--muted)/.5)}
.sda-pending-row .row-title{font-size:.8125rem;font-weight:500;color:hsl(var(--foreground))}
.sda-pending-row .row-meta{font-size:.72rem;color:hsl(var(--muted-foreground));margin-top:.15rem}
.sda-data-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden}
.sda-card-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid hsl(var(--border))}
.sda-card-header .card-title{font-size:.875rem;font-weight:600;color:hsl(var(--foreground));margin:0}
.sda-card-body{padding:1.25rem}
.sda-alert{display:flex;align-items:flex-start;gap:.625rem;padding:.875rem 1rem;border-radius:var(--radius);font-size:.8125rem;border:1px solid transparent;margin-bottom:1rem}
.sda-alert-success{background:hsl(var(--success)/.08);border-color:hsl(var(--success)/.25);color:hsl(142 60% 30%)}
.sda-alert-error{background:hsl(var(--destructive)/.07);border-color:hsl(var(--destructive)/.2);color:hsl(var(--destructive))}
.sda-alert-warning{background:hsl(var(--warning)/.08);border-color:hsl(var(--warning)/.25);color:hsl(32 80% 32%)}
.sda-alert-info{background:hsl(var(--info)/.08);border-color:hsl(var(--info)/.2);color:hsl(var(--info))}
.sda-memo-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.sda-memo-card-body{padding:1rem;flex:1}
.sda-memo-card-footer{padding:.75rem 1rem;border-top:1px solid hsl(var(--border));background:hsl(var(--muted)/.3)}
.sda-batch-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;margin-bottom:1rem}
.batch-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted)/.3)}
.sda-response-card{background:hsl(var(--muted)/.4);border:1px solid hsl(var(--border)/.6);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:.625rem}
.response-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.75rem;color:hsl(var(--muted-foreground));margin-bottom:.375rem}
.response-text{font-size:.8125rem;color:hsl(var(--foreground)/.8);line-height:1.55;margin:0}
.sda-countdown{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;padding:.2em .65em;border-radius:99px}
.sda-countdown-ok{background:hsl(var(--success)/.1);color:hsl(142 60% 32%)}
.sda-countdown-warn{background:hsl(var(--warning)/.1);color:hsl(32 80% 35%)}
.sda-countdown-overdue{background:hsl(var(--destructive)/.1);color:hsl(var(--destructive));font-weight:700}
.sda-countdown-none{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.sda-overdue-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.175em .5em;background:hsl(var(--destructive)/.1);color:hsl(var(--destructive));border-radius:99px;font-size:.68rem;font-weight:700}
.sda-split-left,.sda-split-right{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;flex-direction:column;overflow:hidden}
.sda-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid hsl(var(--border));background:hsl(var(--muted)/.3);font-size:.8125rem;font-weight:600;gap:.75rem;flex-shrink:0}
.sda-panel-scroll{overflow-y:auto;flex:1;scrollbar-width:thin}
.sda-panel-body{padding:1rem}
.sda-finding-card{background:hsl(var(--muted)/.4);border:1px solid hsl(var(--border));border-radius:var(--radius);transition:all .12s;margin-bottom:.375rem;cursor:pointer}
.sda-finding-card:hover{background:hsl(var(--muted)/.7)}
.sda-finding-card.selected,.sda-finding-card.finding-selected{background:hsl(var(--foreground)/.06);border-color:hsl(var(--foreground)/.3)}
.finding-header{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem}
.finding-body{padding:0 .75rem .75rem}
.sda-comment-item{background:hsl(var(--muted)/.4);border-radius:var(--radius);padding:.75rem 1rem;border-left:3px solid hsl(var(--border))}
.sda-comment-item.tl-hijau{border-left-color:hsl(var(--tl-hijau))}
.sda-comment-item.tl-merah{border-left-color:hsl(var(--tl-merah))}
.sda-comment-item.tl-kuning{border-left-color:hsl(var(--tl-kuning))}
.sda-comment-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;font-size:.72rem;color:hsl(var(--muted-foreground));margin-bottom:.375rem}
.sda-comment-text{font-size:.8125rem;color:hsl(var(--foreground)/.8);margin:0;line-height:1.5}
.sda-audit-status{display:inline-flex;align-items:center;padding:.175em .5em;border-radius:99px;font-size:.67rem;font-weight:600;white-space:nowrap}
.sda-section-title{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:hsl(var(--muted-foreground));margin-bottom:.75rem}
.sda-info-table{width:100%;border-collapse:collapse}
.sda-info-table tr+tr td,.sda-info-table tr+tr th{border-top:1px solid hsl(var(--border))}
.sda-info-table th{padding:.55rem .75rem .55rem 0;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));white-space:nowrap;width:38%;vertical-align:top}
.sda-info-table td{padding:.55rem .75rem;font-size:.8125rem;color:hsl(var(--foreground));vertical-align:top;word-break:break-word}
.sda-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.5rem}
.sda-page-header-left{display:flex;align-items:center;gap:.875rem;min-width:0}
.sda-page-icon{width:2.5rem;height:2.5rem;border-radius:var(--radius);background:hsl(var(--secondary));color:hsl(var(--foreground));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sda-page-title{font-size:1.125rem;font-weight:700;color:hsl(var(--foreground));line-height:1.25}
.sda-page-desc{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-top:.2rem}
.sda-toggle-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.875rem 1rem;background:hsl(var(--muted)/.4);border:1px solid hsl(var(--border));border-radius:var(--radius)}
.sda-toggle-label{font-size:.84rem;font-weight:600;color:hsl(var(--foreground))}
.sda-toggle-desc{font-size:.72rem;color:hsl(var(--muted-foreground));margin-top:.15rem}
.sda-form-label{display:block;font-size:.75rem;font-weight:600;color:hsl(var(--foreground));margin-bottom:.375rem}
.sda-form-input{width:100%;padding:.5rem .75rem;background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:var(--radius);font-size:.8125rem;color:hsl(var(--foreground));font-family:inherit;outline:none;transition:box-shadow .12s}
.sda-form-input:focus{border-color:hsl(var(--ring)/.5);box-shadow:0 0 0 2px hsl(var(--ring)/.15)}
.input-group .sda-form-input{width:1%;flex:1 1 auto;border-radius:var(--radius) 0 0 var(--radius)}
.filter-input{background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:var(--radius);color:hsl(var(--foreground));padding:.4rem .75rem;font-size:.8125rem;font-family:inherit;outline:none;transition:box-shadow .12s;min-height:2.25rem;height:2.25rem;width:100%}
.filter-input:focus{border-color:hsl(var(--ring)/.5);box-shadow:0 0 0 2px hsl(var(--ring)/.15)}
.filter-input::placeholder{color:hsl(var(--muted-foreground))}
.filter-input.border-error{border-color:hsl(var(--destructive))}
textarea.filter-input{height:auto;min-height:5rem;resize:vertical}
select.filter-input{cursor:pointer;height:2.25rem}
.filter-input:disabled,.filter-input[readonly]{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed;opacity:1}
.sda-wizard-steps{display:flex;align-items:flex-start;overflow-x:auto;padding:1.25rem 1.5rem;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);margin-bottom:1.5rem;scrollbar-width:none}
.sda-wizard-step{display:flex;align-items:center;flex:1;min-width:70px}
.sda-wf-inner{display:flex;flex-direction:column;align-items:center;gap:.4rem;flex-shrink:0}
.sda-wf-dot{width:1.875rem;height:1.875rem;border-radius:50%;background:hsl(var(--muted));border:1.5px solid hsl(var(--border));color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}
.sda-wf-label{font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground));text-align:center;white-space:nowrap}
.sda-wf-line{flex:1;height:0;border-top:2px solid hsl(var(--border));margin-top:1rem;margin-left:.375rem;margin-right:.375rem}
.sda-wizard-step.step-done .sda-wf-dot{background:hsl(var(--success));border-color:hsl(var(--success));color:#fff}
.sda-wizard-step.step-done .sda-wf-label{color:hsl(142 60% 32%)}
.sda-wizard-step.step-done .sda-wf-line{background:hsl(var(--success))}
.sda-wizard-step.step-active .sda-wf-dot{background:hsl(var(--foreground));border-color:hsl(var(--foreground));color:hsl(var(--background))}
.sda-wizard-step.step-active .sda-wf-label{color:hsl(var(--foreground));font-weight:700}
.step-btn{display:flex;flex-direction:column;align-items:center;gap:.375rem;flex-shrink:0;text-decoration:none;color:inherit;cursor:default}
.step-num{width:1.875rem;height:1.875rem;border-radius:50%;background:hsl(var(--muted));border:1.5px solid hsl(var(--border));color:hsl(var(--muted-foreground));display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}
.step-label{font-size:.65rem;font-weight:500;color:hsl(var(--muted-foreground));text-align:center;white-space:nowrap;max-width:80px}
.step-connector{flex:1;height:1.5px;background:hsl(var(--border));margin:0 .25rem;margin-bottom:.875rem}
.sda-profile-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;text-align:center}
.profile-banner{height:72px;background:hsl(var(--foreground))}
.profile-name{font-size:.875rem;font-weight:700;color:hsl(var(--foreground));margin:.5rem 0 .2rem}
.profile-role{font-size:.72rem;color:hsl(var(--muted-foreground))}
.profile-jabatan{font-size:.7rem;color:hsl(var(--muted-foreground)/.75);margin-top:.1rem}
.profile-avatar-wrap{position:relative;width:76px;height:76px;margin:-38px auto 0;border-radius:50%;cursor:pointer}
.profile-avatar-img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid hsl(var(--card));background:hsl(var(--muted));display:block}
.profile-avatar-overlay{position:absolute;inset:0;border-radius:50%;background:hsl(0 0% 0% / .55);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s;color:#fff}
.profile-avatar-wrap:hover .profile-avatar-overlay{opacity:1}
.profile-avatar-wrap.is-dragging .profile-avatar-overlay{opacity:1}
.sda-report-catalog-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.rc-body{padding:1.25rem;flex:1}
.rc-footer{padding:.875rem 1.25rem;border-top:1px solid hsl(var(--border));background:hsl(var(--muted)/.3)}
.rc-icon{width:2.5rem;height:2.5rem;border-radius:var(--radius);display:flex;align-items:center;justify-content:center;margin-bottom:.875rem;background:hsl(var(--muted));color:hsl(var(--foreground))}
.rc-title{font-size:.875rem;font-weight:700;color:hsl(var(--foreground));margin-bottom:.25rem}
.rc-desc{font-size:.78rem;color:hsl(var(--muted-foreground));line-height:1.5}
.rc-count{font-size:1.875rem;font-weight:900;line-height:1;letter-spacing:-.03em;margin-bottom:.25rem}
.sda-ai-card{position:relative;overflow:hidden;background:hsl(var(--foreground)/.03);border:1px solid hsl(var(--foreground)/.12);border-radius:var(--radius);padding:1rem 1.25rem}
.sda-ai-label{display:inline-flex;align-items:center;gap:.3rem;font-size:.625rem;font-weight:800;text-transform:uppercase;color:hsl(var(--foreground));padding:.175rem .5rem;background:hsl(var(--foreground)/.08);border-radius:99px}
.sda-ai-content{font-size:.8125rem;color:hsl(var(--foreground)/.75);line-height:1.6}
.sda-error-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;text-align:center;background:hsl(var(--background))}
.sda-error-code{font-size:5.5rem;font-weight:900;color:hsl(var(--foreground)/.1);line-height:1;letter-spacing:-.04em;margin-bottom:-1.5rem}
.sda-error-title{font-size:1.375rem;font-weight:800;color:hsl(var(--foreground));margin-bottom:.5rem}
.sda-error-desc{font-size:.875rem;color:hsl(var(--muted-foreground));max-width:380px;line-height:1.65;margin-bottom:2rem}
.sda-toast-item{display:flex;align-items:flex-start;gap:.625rem;padding:.875rem 1rem;border-radius:var(--radius);font-size:.8125rem;min-width:280px;max-width:380px;background:hsl(var(--popover));border:1px solid hsl(var(--border));box-shadow:0 8px 30px rgb(0 0 0/.15);animation:toast-in .2s ease-out}
.sda-skeleton{background:linear-gradient(90deg,hsl(var(--muted)) 25%,hsl(var(--border)) 50%,hsl(var(--muted)) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius)}
.stat-icon{display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.stat-icon.primary{background:hsl(var(--secondary));color:hsl(var(--foreground))}
.sda-notification-item{display:flex;align-items:flex-start;gap:.875rem;padding:1rem 1.25rem;border-bottom:1px solid hsl(var(--border)/.5);text-decoration:none;color:inherit;transition:background .1s}
.sda-notification-item:hover{background:hsl(var(--muted)/.5)}
.sda-notification-item.unread{background:hsl(var(--foreground)/.02)}

/* ── Color helper aliases ────────────────────────────────── */
.bg-base-100{background-color:hsl(var(--background))!important}
.bg-base-200{background-color:hsl(var(--muted))!important}
.bg-base-300{background-color:hsl(var(--border))!important}
.text-base-content{color:hsl(var(--foreground))!important}
.border-base-300{border-color:hsl(var(--border))!important}
.text-success{color:hsl(142 60% 32%)!important}
.text-error{color:hsl(var(--destructive))!important}
.text-warning{color:hsl(32 80% 35%)!important}
.text-info{color:hsl(var(--info))!important}
.text-primary{color:hsl(var(--primary))!important}
.bg-success{background-color:hsl(var(--success))!important}
.bg-error{background-color:hsl(var(--destructive))!important}
.bg-warning{background-color:hsl(var(--warning))!important}
.bg-info{background-color:hsl(var(--info))!important}
.bg-primary{background-color:hsl(var(--primary))!important}
.border-success{border-color:hsl(var(--success))!important}
.border-error{border-color:hsl(var(--destructive))!important}

/* ── Task list page: align legacy views with import memo typography ───── */
.sda-task-page .statbox.widget.box.box-shadow {
   background: transparent;
   border: 0;
   box-shadow: none;
}
.sda-task-page .page-meta,
.sda-task-page .seperator-header {
   display: none;
}
.sda-task-page .widget-content.widget-content-area {
   padding: 0;
}
.sda-task-page .table,
.sda-task-page .dui-table,
.sda-task-page table.table {
   width: 100%;
   border-collapse: collapse;
   font-size: 0.8125rem;
   color: hsl(var(--foreground));
}
.sda-task-page .table thead th,
.sda-task-page .dui-table thead th,
.sda-task-page table.table thead th {
   padding: 0.625rem 1rem;
   font-size: 0.7rem;
   font-weight: 700;
   text-transform: uppercase;
   letter-spacing: 0.07em;
   color: hsl(var(--muted-foreground));
   border-bottom: 1px solid hsl(var(--border));
   background: transparent;
   white-space: nowrap;
}
.sda-task-page .table thead th .th-content,
.sda-task-page .dui-table thead th .th-content {
   font-size: inherit;
   font-weight: inherit;
   text-transform: inherit;
   letter-spacing: inherit;
   color: inherit;
}
.sda-task-page .table tbody td,
.sda-task-page .dui-table tbody td,
.sda-task-page table.table tbody td {
   padding: 0.75rem 1rem;
   border-bottom: 1px solid hsl(var(--border) / 0.5);
   vertical-align: middle;
}
.sda-task-page .table tbody tr:last-child td,
.sda-task-page .dui-table tbody tr:last-child td,
.sda-task-page table.table tbody tr:last-child td {
   border-bottom: none;
}
.sda-task-page .table tbody tr:hover td,
.sda-task-page .dui-table tbody tr:hover td,
.sda-task-page table.table tbody tr:hover td {
   background: hsl(var(--muted) / 0.4);
}
.sda-task-page .td-content,
.sda-task-page .table-controls,
.sda-task-page .table-controls a,
.sda-task-page .btn {
   font-size: 0.72rem;
}
.sda-task-page .badge,
.sda-task-page .sda-status,
.sda-task-page .sda-next-action {
   display: inline-flex;
   align-items: center;
   gap: 0.3em;
   padding: 0.2em 0.625em;
   border-radius: 99px;
   font-size: 0.68rem;
   font-weight: 700;
   letter-spacing: 0.03em;
   white-space: nowrap;
}
.sda-task-page .table-controls {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 0.35rem;
   flex-wrap: wrap;
   list-style: none;
   margin: 0;
   padding: 0;
}
.sda-task-page .table-controls li {
   display: inline-flex;
}
.sda-task-page .table-controls a,
.sda-task-page .btn.btn-light-primary,
.sda-task-page .btn.btn-light-info,
.sda-task-page .btn.btn-light-danger,
.sda-task-page .btn.btn-light-success {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 0.3rem;
   min-height: 2rem;
   padding: 0.25rem 0.7rem;
   border-radius: 99px;
   font-size: 0.72rem;
   font-weight: 600;
   line-height: 1;
   text-decoration: none;
}
.sda-task-page .table-controls a {
   width: 2rem;
   height: 2rem;
   padding: 0;
}
.sda-task-page .table-controls a svg,
.sda-task-page .btn.btn-light-primary svg,
.sda-task-page .btn.btn-light-info svg,
.sda-task-page .btn.btn-light-danger svg,
.sda-task-page .btn.btn-light-success svg {
   width: 13px;
   height: 13px;
}
