/* SPMI follows the accreditation data workspace, preserving PPEPP behavior. */
.spmi-workspace{--spmi-ink:#27272a;--spmi-muted:#71717a;--spmi-accent:#8d1530;--spmi-surface:#fff;--spmi-soft:#f1f1f2;--spmi-line:#e7e7e9;color:var(--spmi-ink);font-variant-numeric:tabular-nums}
.spmi-workspace .spmi-shell{max-width:1500px;margin:0 auto;padding-bottom:40px;min-width:0}
.spmi-workspace .spmi-page-heading{display:flex;align-items:center;gap:12px;margin-bottom:28px}
.spmi-workspace .spmi-page-heading h1{font-size:28px!important;font-weight:650!important;line-height:1.25;letter-spacing:-.035em;margin:0!important;text-wrap:balance;min-width:0}
.spmi-workspace .spmi-back{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:7px;background:var(--spmi-surface);color:var(--spmi-ink)}
.spmi-workspace .spmi-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:28px;align-items:start}
.spmi-workspace .spmi-layout.is-detail{grid-template-columns:minmax(0,1fr)}
.spmi-workspace .spmi-content,.spmi-workspace .spmi-body{min-width:0}
.spmi-workspace .spmi-sections{position:sticky;top:20px;max-height:calc(100dvh - 125px);overflow-y:auto;scrollbar-width:thin;padding:0 8px 8px 0}
.spmi-workspace .spmi-sections nav+nav{margin-top:24px}
.spmi-workspace .spmi-sections h2{font-size:12px;font-weight:500;color:var(--spmi-muted);margin:0 12px 12px}
body.dense-ui .spmi-workspace .spmi-sections button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;height:auto!important;min-height:43px!important;padding:11px 12px!important;margin:3px 0;border:0;border-radius:7px;background:transparent;color:var(--spmi-muted);font-size:13px;font-weight:450;text-align:left;line-height:1.45!important}
body.dense-ui .spmi-workspace .spmi-sections button[aria-current=page]{background:#f0e4e7;color:var(--spmi-accent);font-weight:600}
.spmi-workspace .spmi-nav-count{font-size:11px;flex-shrink:0;font-weight:500;font-variant-numeric:tabular-nums}
.spmi-workspace .spmi-mobile-navigation{display:none}
.spmi-workspace .spmi-filterbar{display:flex;align-items:flex-end;flex-wrap:wrap;gap:14px;padding:16px 18px;background:var(--spmi-soft);border-radius:10px;margin-bottom:24px}
.spmi-workspace .spmi-period-filter{display:flex;flex-direction:column;gap:8px;flex:1 1 210px;max-width:340px;font-size:12px;font-weight:500;color:var(--spmi-muted)}
.spmi-workspace .ui-input{width:100%;min-width:0;background:var(--spmi-surface);border:1px solid #d9d9dd;border-radius:7px;padding:0 12px;font-size:13px!important;font-weight:450!important;color:var(--spmi-ink);box-shadow:none;line-height:1.5}
.spmi-workspace textarea.ui-input{height:auto!important;min-height:100px!important;padding:12px;line-height:1.65}
.spmi-workspace .spmi-search{display:flex;position:relative;align-items:center;flex:1 1 160px;min-width:140px;max-width:440px;margin:0}
.spmi-workspace .spmi-search>iconify-icon{position:absolute;left:12px;pointer-events:none;color:var(--spmi-muted);font-size:18px}
.spmi-workspace .spmi-search .ui-input{padding-left:38px!important}
.spmi-workspace .spmi-filter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-left:auto;flex:0 0 auto}
.spmi-workspace :is(.spmi-button,.quality-detail-actions>button,.quality-edit-form>div>button){display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px!important;border:1px solid var(--spmi-line);border-radius:7px;background:var(--spmi-surface);color:var(--spmi-ink);font-size:13px;font-weight:550;white-space:nowrap;box-shadow:none}
body.dense-ui .spmi-workspace :is(.spmi-button-primary,button.bg-zinc-900,button.bg-emerald-600){background:var(--spmi-accent)!important;color:#fff!important;border-color:var(--spmi-accent)!important}
.spmi-workspace .spmi-icon-button{display:inline-flex;align-items:center;justify-content:center;padding:0!important;background:var(--spmi-surface);color:var(--spmi-muted);border:1px solid var(--spmi-line);border-radius:7px;width:40px;flex-shrink:0}
.spmi-workspace .spmi-expanded-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;flex:1 0 100%;padding-top:12px}
.spmi-workspace .spmi-expanded-filters>label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--spmi-muted)}
.spmi-workspace button{transition:background .15s,color .15s,transform .15s}
.spmi-workspace button:not(:disabled):hover,.spmi-workspace .spmi-back:hover{background:var(--spmi-soft)}
body.dense-ui .spmi-workspace :is(.spmi-button-primary,button.bg-zinc-900,button.bg-emerald-600):not(:disabled):hover{background:#701027!important}
.spmi-workspace button:not(:disabled):active{transform:translateY(1px)}
.spmi-workspace button:disabled{opacity:.45;cursor:not-allowed}
.spmi-workspace :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid var(--spmi-accent);outline-offset:3px}
.spmi-workspace .spmi-overview{margin:0}
.spmi-workspace .spmi-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 26px}
body.dense-ui .spmi-workspace .spmi-metrics>button{display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:auto!important;min-height:0!important;padding:0 2px!important;background:transparent;border:0;color:var(--spmi-ink);border-radius:0;line-height:1.4!important}
.spmi-workspace .spmi-metrics strong{font-size:26px;line-height:1.2;font-weight:600;letter-spacing:-.035em}
.spmi-workspace .spmi-metrics span{font-size:12px;color:var(--spmi-muted);font-weight:450}
.spmi-workspace .spmi-dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:22px;align-items:start}
.spmi-workspace .spmi-operational-panel,.spmi-workspace .spmi-followup{background:var(--spmi-surface);border:0;border-radius:10px;overflow:hidden;margin:0;padding:0;min-width:0}
.spmi-workspace :is(.spmi-operational-panel,.spmi-followup)>h2{font-size:17px;font-weight:600;letter-spacing:-.015em;margin:0;padding:22px 22px 20px;color:var(--spmi-ink)}
.spmi-workspace .spmi-followup{display:block}
body.dense-ui .spmi-workspace .spmi-followup>button{display:flex;align-items:center;gap:12px;width:100%;height:auto!important;min-height:48px!important;padding:14px 22px!important;border:0;border-radius:0;background:transparent;font-size:13px;text-align:left;color:var(--spmi-muted);line-height:1.5!important}
.spmi-workspace .spmi-followup>button>span{flex:1}
.spmi-workspace .spmi-followup strong{font-size:16px;font-weight:600;color:var(--spmi-ink)}
.spmi-workspace .spmi-followup iconify-icon{color:var(--spmi-muted)}
.spmi-workspace .spmi-attention{padding:18px 22px 22px;background:var(--spmi-soft);margin-top:10px}
.spmi-workspace .spmi-attention h3{font-size:13px;font-weight:600;margin:0 0 12px}
body.dense-ui .spmi-workspace .spmi-attention button{display:flex;align-items:center;justify-content:space-between;gap:12px;height:auto!important;min-height:40px!important;padding:8px 0!important;text-align:left;font-size:12px;font-weight:450;line-height:1.6!important;color:var(--spmi-accent);background:transparent;border:0;width:100%}
.spmi-workspace .ui-table-wrap{background:var(--spmi-surface)!important;border:0!important;border-radius:10px!important;box-shadow:none!important;overflow-x:auto;max-width:100%;min-width:0;scrollbar-width:thin}
.spmi-workspace .spmi-operational-panel>.ui-table-wrap{border-radius:0!important}
.spmi-workspace .ui-data-table{width:100%;border-collapse:collapse;table-layout:auto;background:var(--spmi-surface);margin:0;text-align:left}
body.dense-ui .spmi-workspace .ui-data-table th{background:var(--spmi-soft)!important;color:var(--spmi-muted)!important;font-size:12px!important;font-weight:550!important;text-transform:none!important;letter-spacing:0!important;padding:14px 20px!important;white-space:nowrap;line-height:1.5!important;text-align:left;border:0}
body.dense-ui .spmi-workspace .ui-data-table td{padding:17px 20px!important;font-size:13px!important;font-weight:450!important;line-height:1.65!important;white-space:normal;vertical-align:top!important;min-width:90px;max-width:420px;border-bottom:1px solid var(--spmi-line);color:var(--spmi-ink);overflow-wrap:anywhere}
.spmi-workspace .ui-data-table tr:last-child td{border-bottom:0}
.spmi-workspace .ui-data-table tr:hover{background:color-mix(in srgb,var(--spmi-soft) 55%,var(--spmi-surface))}
.spmi-workspace .ui-data-table a{color:var(--spmi-accent);font-weight:550;text-decoration:none}
.spmi-workspace .ui-data-table a:hover{text-decoration:underline;text-underline-offset:3px}
.spmi-workspace .ui-data-table td>span[class*="rounded"]{display:inline-block;font-size:11px!important;line-height:1.5;font-weight:500!important;border-radius:5px!important;padding:4px 8px!important}
.spmi-workspace .ui-data-table td button{font-size:12px!important;border-radius:6px!important;padding:0 10px!important;white-space:nowrap;box-shadow:none}
.spmi-workspace .spmi-related-lists{display:grid;grid-template-columns:minmax(0,1fr);gap:24px;min-width:0}
.spmi-workspace .spmi-related-lists>div{min-width:0}
.spmi-workspace .quality-document-history{margin:24px 0 0;padding:0;border:0;background:transparent}
.spmi-workspace .quality-document-history>h2{font-size:17px;font-weight:600;margin:0 0 18px;letter-spacing:-.015em}
body.dense-ui .spmi-workspace .spmi-entry-form{background:var(--spmi-surface)!important;border:0!important;border-radius:10px!important;padding:24px!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px 24px!important;align-items:start;margin-bottom:24px;box-shadow:none}
body.dense-ui .spmi-workspace .spmi-entry-form [class*="col-span"]{grid-column:1/-1!important}
body.dense-ui .spmi-workspace .spmi-entry-form label{display:block;margin-bottom:8px;font-size:12px!important;font-weight:500!important;color:var(--spmi-muted)}
body.dense-ui .spmi-workspace .spmi-entry-form>button{order:2;grid-column:1/-1!important;justify-self:start;padding:0 16px!important;border-radius:7px;font-size:13px;font-weight:550}
body.dense-ui .spmi-workspace .spmi-entry-form :is(input,select,textarea){font-size:13px!important}
.spmi-workspace .quality-detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 24px}
body.dense-ui.ui-refresh .spmi-workspace .quality-detail-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px;background:var(--spmi-surface)!important;border:0!important;border-radius:10px;box-shadow:none!important;margin:0 0 24px;padding:26px}
.spmi-workspace .quality-detail-fields>div{display:block;min-width:0}
.spmi-workspace .quality-detail-fields dt{font-size:12px;font-weight:500;color:var(--spmi-muted);margin-bottom:8px}
.spmi-workspace .quality-detail-fields dd{font-size:14px;line-height:1.7;margin:0;color:var(--spmi-ink);white-space:pre-wrap;overflow-wrap:anywhere}
.spmi-workspace .quality-edit-form{background:var(--spmi-surface);padding:24px;border:0;border-radius:10px;margin-bottom:24px}
.spmi-workspace .quality-edit-form h2{font-size:17px;font-weight:600;margin:0 0 22px}
.spmi-workspace .quality-edit-form label{font-size:12px;display:block;color:var(--spmi-muted)}
.spmi-workspace .quality-edit-form label>span{display:block;margin-bottom:8px}
.spmi-workspace .quality-edit-form .quality-detail-actions{margin:24px 0 0}
.spmi-workspace .quality-template-links{display:flex;gap:12px;flex-wrap:wrap;padding:16px 0}
.spmi-workspace details>summary{font-size:13px;color:var(--spmi-muted);cursor:pointer}
.spmi-workspace .quality-template-links a{font-size:12px;color:var(--spmi-accent);padding:10px 14px;background:var(--spmi-surface);border:0;border-radius:7px}
.spmi-workspace .spmi-error{padding:14px 18px;background:#fbeef1;color:#8d1530;border:0;border-radius:8px;font-size:13px;margin-bottom:20px}
.spmi-workspace .spmi-error button{margin-left:8px;text-decoration:underline;background:none;border:0}
.spmi-workspace .spmi-skeleton{display:grid;gap:14px;padding:24px;background:var(--spmi-surface);border-radius:10px;margin-bottom:24px}
.spmi-workspace .spmi-skeleton>div{height:32px;border-radius:5px;background:var(--spmi-soft);animation:spmi-loading 1.2s ease-in-out infinite alternate}
@keyframes spmi-loading{to{opacity:.45}}
.dark .spmi-workspace{--spmi-ink:#ededf0;--spmi-muted:#a1a1aa;--spmi-accent:#e7a5b5;--spmi-surface:#232326;--spmi-soft:#2c2c30;--spmi-line:#39393e}
.dark .spmi-workspace .ui-input{border-color:#48484d}
.dark .spmi-workspace .spmi-sections button[aria-current=page]{background:#432630!important}
body.dense-ui.dark .spmi-workspace :is(.spmi-button-primary,button.bg-zinc-900,button.bg-emerald-600),.dark body.dense-ui .spmi-workspace :is(.spmi-button-primary,button.bg-zinc-900,button.bg-emerald-600){background:#8d1530!important;border-color:#8d1530!important;color:#fff!important}
@media(min-width:1500px){.spmi-workspace .spmi-dashboard-grid{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:1100px){.spmi-workspace .spmi-layout{grid-template-columns:180px minmax(0,1fr);gap:20px}.spmi-workspace .spmi-period-filter{flex-basis:180px}.spmi-workspace .spmi-filter-actions{margin-left:0}.spmi-workspace .spmi-metrics{gap:20px 14px}}
@media(max-width:850px){.spmi-workspace .spmi-layout{grid-template-columns:minmax(0,1fr)}.spmi-workspace .spmi-sections{display:none}.spmi-workspace .spmi-mobile-navigation{display:block;margin-bottom:18px}.spmi-workspace .spmi-mobile-navigation .ui-input{width:100%}.spmi-workspace .spmi-page-heading{margin-bottom:24px}.spmi-workspace .spmi-filterbar{gap:12px}.spmi-workspace .spmi-period-filter{flex:1 1 230px;max-width:none}.spmi-workspace .spmi-filter-actions{margin-left:auto}.spmi-workspace .spmi-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.spmi-workspace .spmi-page-heading h1{font-size:25px!important}.spmi-workspace .spmi-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}.spmi-workspace .spmi-metrics strong{font-size:25px}.spmi-workspace .spmi-period-filter{flex:1 0 100%}.spmi-workspace .spmi-filterbar{padding:14px}.spmi-workspace .spmi-search{flex:1 1 100%;max-width:none}.spmi-workspace .spmi-filter-actions{flex:1 0 100%;justify-content:flex-end}.spmi-workspace .spmi-filter-actions>.spmi-button-primary{margin-left:auto}.spmi-workspace .spmi-expanded-filters{grid-template-columns:1fr}.spmi-workspace .ui-data-table{min-width:520px}.spmi-workspace .spmi-operational-panel .ui-data-table{min-width:480px}.spmi-workspace .spmi-related-lists{gap:20px}body.dense-ui .spmi-workspace .spmi-entry-form{grid-template-columns:minmax(0,1fr)!important;padding:20px!important;gap:20px!important}body.dense-ui.ui-refresh .spmi-workspace .quality-detail-fields{grid-template-columns:1fr;padding:22px;gap:22px}.spmi-workspace .quality-detail-actions{gap:8px}.spmi-workspace .quality-edit-form{padding:20px}.spmi-workspace .quality-edit-form>.grid{grid-template-columns:minmax(0,1fr)}.spmi-workspace .spmi-related-lists .grid.grid-cols-3{grid-template-columns:minmax(0,1fr)}.spmi-workspace .spmi-related-lists .flex{flex-wrap:wrap}.spmi-workspace .spmi-related-lists input{min-width:0}.spmi-workspace .spmi-operational-panel>h2,.spmi-workspace .spmi-followup>h2{padding:20px 18px 18px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.spmi-workspace .spmi-skeleton>div{animation:none}.spmi-workspace button{transition:none}}
@media(min-width:1360px){.spmi-workspace .spmi-dashboard-grid{grid-template-columns:minmax(0,1fr) 250px}}
.spmi-workspace section[aria-label="Capaian pembelajaran"]{border:0!important;border-radius:10px;background:var(--spmi-surface)!important;padding:24px}
body.dense-ui .spmi-workspace section[aria-label="Capaian pembelajaran"] .grid>button{height:auto!important;min-height:80px!important;line-height:1.6!important;padding:16px!important;font-size:13px;color:var(--spmi-ink);background:var(--spmi-soft);border:0;border-radius:7px}
.spmi-workspace button[aria-label="Hapus indikator"]{color:var(--spmi-muted)!important;background:transparent!important;border-color:transparent!important}
@media(max-width:600px){.spmi-workspace .spmi-filterbar.is-dashboard>.spmi-search{flex:1 1 160px}.spmi-workspace .spmi-filterbar.is-dashboard>.spmi-filter-actions{flex:0 0 auto;margin-left:0}}
.spmi-workspace section[aria-label="Capaian pembelajaran"] h2{font-size:17px;font-weight:600;letter-spacing:-.015em}
.spmi-workspace .spmi-related-lists .p-3{padding:22px!important;border:0!important;border-radius:10px!important;background:var(--spmi-surface)!important;box-shadow:none!important}
.spmi-workspace .spmi-related-lists .p-3 h3{font-size:14px!important;font-weight:600!important;line-height:1.6;margin-bottom:14px}
.spmi-workspace .spmi-related-lists .p-3 :is([class*="text-[11px]"],[class*="text-[10px]"]){font-size:12px!important;line-height:1.65}
