/* Editor KPI Tracker — tampilan v1.1.1 (palet: maroon, tan, alabaster, light blue, midnight blue) */
.ekt-app{--ink:#0F414A;--mut:#5F8087;--mar:#7F0303;--tan:#D8BA98;--ala:#EFE8DF;--lb:#96C0CE;--card:#FFFDFA;--bd:#DDD0BF;--track:#E6DACB;--ok:#2E8B6E;--warn:#C98A1F;--bad:#D64527;
max-width:760px;margin:0 auto;padding:16px;font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--ala);border-radius:28px;box-sizing:border-box;line-height:1.4}
.ekt-app *{box-sizing:border-box}
.ekt-app.ekt-desktop{max-width:1240px;padding:22px}
.ekt-app [hidden]{display:none!important}
.ekt-loading{text-align:center;color:var(--mut);padding:40px 0}

/* Header */
.ekt-top{display:flex;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}
.ekt-logo{width:40px;height:40px;border-radius:12px;background:var(--mar);display:flex;align-items:center;justify-content:center;gap:4px;flex:none}
.ekt-logo i{display:block;width:7px;height:18px;border-radius:4px;background:var(--ala)}
.ekt-logo i+i{background:var(--tan)}
.ekt-brand{font-size:21px;font-weight:800}
.ekt-nav{display:flex;gap:6px;order:10;width:100%}
.ekt-nav a{flex:1;text-align:center;padding:10px 18px;border-radius:99px;font-weight:600;font-size:14px;color:var(--mut)}
.ekt-nav a.on{background:var(--ink);color:var(--ala)}
.ekt-sp{flex:1}
.ekt-user{display:flex;align-items:center;gap:10px}
.ekt-av{width:42px;height:42px;border-radius:50%;background:var(--mar);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center}
.ekt-un{display:flex;flex-direction:column;line-height:1.2}
.ekt-un b{font-size:15px}
.ekt-un small{color:var(--mut);font-size:12px}
.ekt-logout{color:var(--mut);font-size:13px;font-weight:600;text-decoration:none}
.ekt-logout:hover{color:var(--mar)}

/* Hero */
.ekt-hero{background:linear-gradient(135deg,#6B0202,#9B1B1B);color:var(--ala);border-radius:26px;padding:22px 24px;margin-bottom:18px}
.ekt-hero.is-hit{background:linear-gradient(135deg,#0F414A,#1B6272)}
.ekt-hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.ekt-hello{font-size:22px;font-weight:800}
.ekt-sub{color:var(--tan);font-size:14px;margin-top:2px}
.ekt-pills{display:flex;flex-direction:column;gap:8px;align-items:flex-end}
.ekt-hero .ekt-logout{color:var(--tan)}
.ekt-kpi{margin:14px 0 10px}
.ekt-kpi-num{font-size:64px;font-weight:800;line-height:1}
.ekt-kpi-of{margin-left:10px;color:var(--tan);font-size:18px;font-weight:600}
.ekt-bar{background:rgba(0,0,0,.28);border-radius:99px;height:12px;overflow:hidden}
.ekt-bar i{display:block;height:100%;width:0;background:var(--tan);border-radius:99px;transition:width .3s}
.ekt-hero-note{margin-top:12px;font-weight:700}

/* Pill */
.ekt-pill{display:inline-block;border-radius:99px;padding:5px 12px;font-size:12px;font-weight:700;white-space:nowrap}
.ekt-pill.tan{background:var(--tan);color:var(--ink)}
.ekt-pill.dark{background:#520202;color:var(--tan)}
.ekt-pill.info{background:#DCEAF0;color:#0F5C6E}
.ekt-pill.warn{background:#F6E6C8;color:#8A5A0B}
.ekt-pill.ok{background:#DDEFE6;color:#1F6B52}
.ekt-pill.bad{background:#F8DDD6;color:#A3321A}

/* Layout */
.ekt-grid{display:block}
.ekt-main,.ekt-side{min-width:0}
.ekt-note{background:#F6E6C8;border-radius:14px;padding:12px 16px;margin-bottom:14px;font-size:14px;color:#6b4506}
.ekt-note.err{background:#F8DDD6;color:#7d2412}
.ekt-h{margin:26px 0 12px;font-size:20px;font-weight:800;color:var(--ink)}
.ekt-h small{font-weight:500;color:var(--mut);font-size:14px;margin-left:6px}
.ekt-main>.ekt-hero+.ekt-h{margin-top:4px}
.ekt-empty{background:var(--card);border-radius:18px;padding:18px;color:var(--mut);font-size:14px}
.ekt-card{background:var(--card);border-radius:22px;padding:18px 20px;margin-bottom:14px}
.ekt-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.ekt-name{font-weight:800;font-size:17px;word-break:break-word;margin-top:10px}
.ekt-card-top .ekt-name{margin-top:0}
.ekt-meta{color:var(--mut);font-size:13px;margin-top:2px}
.ekt-timer{margin:10px 0 12px;font-size:14px;color:var(--mut);line-height:1.6}
.ekt-task .ekt-timer{display:flex;justify-content:space-between;align-items:center;margin:14px 0 2px}
.ekt-until{color:var(--mut);font-size:12px;margin-bottom:14px}
.ekt-cd{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums;font-size:18px;font-weight:700;color:var(--ok)}
.ekt-task .ekt-cd{font-size:28px}
.ekt-cd.warn{color:var(--warn)}
.ekt-cd.bad{color:var(--bad)}
.ekt-timer small{color:var(--mut)}
.ekt-tasks{display:grid;grid-template-columns:1fr;gap:14px}
.ekt-tasks .ekt-card{margin-bottom:0}
.ekt-actions{display:flex;flex-wrap:wrap;gap:10px}
.ekt-actions .ekt-btn{flex:1;text-align:center;min-width:130px}

/* Tombol */
.ekt-btn{background:var(--mar);color:var(--ala);border:0;border-radius:13px;padding:13px 18px;font-size:14px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block;line-height:1.2;font-family:inherit}
.ekt-btn:hover{background:#5E0202;color:var(--ala)}
.ekt-btn.ghost{background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--bd)}
.ekt-btn.ghost:hover{background:var(--ala);color:var(--ink)}
.ekt-btn.tan{background:var(--tan);color:var(--ink)}
.ekt-btn.tan:hover{background:#cba984;color:var(--ink)}
.ekt-btn.sm{padding:9px 20px;font-size:13px;border-radius:99px}
.ekt-btn[disabled]{opacity:.45;cursor:not-allowed}

/* Progres upload */
.ekt-prog{margin-top:12px;font-size:12px;color:var(--mut);width:100%;font-weight:600}
.ekt-prog .ekt-bar{background:var(--track);height:8px;margin-bottom:5px}
.ekt-prog .ekt-bar i{background:var(--mar)}

/* Tabel materi & riwayat */
.ekt-thead{display:none}
.ekt-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:var(--card);border-radius:16px;padding:12px 16px;margin-bottom:8px}
.ekt-row-name{font-size:14px;font-weight:700;overflow-wrap:anywhere;flex:1 1 170px;min-width:0}
.ekt-row-name small{display:block;color:var(--mut);font-weight:500;margin-top:2px}
.ekt-mat{flex-wrap:nowrap}
.ekt-ico{flex:none;width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,#6B0202,#9B1B1B)}
.ekt-col{display:none;color:var(--mut);font-size:14px}

/* Samping */
.ekt-side .ekt-card{margin-bottom:16px}
.ekt-card-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ekt-card-h h4{margin:0;font-size:18px;font-weight:800;color:var(--ink)}
.ekt-card-h small{color:var(--mut);font-size:13px}
.ekt-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.ekt-day{border-radius:12px;padding:10px 2px;text-align:center;font-size:11px;font-weight:600;background:#EFE6D9;color:var(--mut)}
.ekt-day b{display:block;font-size:20px;margin-top:6px;font-weight:800}
.ekt-day b.t{font-size:12px;margin-top:11px}
.ekt-day.hit{background:#DDEFE6;color:#1F6B52}
.ekt-day.miss{background:#F8DDD6;color:#A3321A}
.ekt-day.now{background:#DCEAF0;color:#0F5C6E}
.ekt-day.off{background:#EFE6D9;color:var(--mut)}
.ekt-wk-sum{margin-top:14px;font-size:14px;color:var(--mut)}
.ekt-wk-sum b{display:block;color:var(--ink);font-size:15px;margin-top:2px}
.ekt-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.ekt-stats .ekt-card{margin:0;padding:16px 18px}
.ekt-stat-l{font-size:13px;color:var(--mut)}
.ekt-stat-v{font-size:32px;font-weight:800;line-height:1.15;margin-top:6px}
.ekt-stat-v small{font-size:12px;font-weight:500;color:var(--mut);margin-left:6px}
.ekt-ntf{display:flex;gap:12px;align-items:flex-start;padding:11px 0;border-top:1px solid #EFE6D9}
.ekt-ntf:first-of-type{border-top:0;padding-top:0}
.ekt-ntf-d{flex:none;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.ekt-ntf-d i{width:10px;height:10px;border-radius:50%;display:block}
.ekt-ntf-d.warn{background:#F6E6C8}.ekt-ntf-d.warn i{background:#8A5A0B}
.ekt-ntf-d.ok{background:#DDEFE6}.ekt-ntf-d.ok i{background:#1F6B52}
.ekt-ntf-d.info{background:#DCEAF0}.ekt-ntf-d.info i{background:#0F5C6E}
.ekt-ntf b{display:block;font-size:14px}
.ekt-ntf small{color:var(--mut);font-size:12px;word-break:break-word}
.ekt-rules{background:var(--ink);color:#E6EFF1;border-radius:22px;padding:20px 22px}
.ekt-rules h4{margin:0 0 12px;color:var(--tan);font-size:16px;font-weight:800}
.ekt-rules ul{margin:0;padding:0;list-style:none}
.ekt-rules li{position:relative;padding-left:16px;margin-top:8px;font-size:13px}
.ekt-rules li:before{content:"";position:absolute;left:0;top:7px;width:7px;height:7px;border-radius:50%;background:var(--tan)}

/* Toast & login */
.ekt-toast{position:sticky;top:8px;z-index:50;border-radius:14px;padding:12px 16px;margin-bottom:14px;font-size:14px;font-weight:700}
.ekt-toast.ok{background:#DDEFE6;color:#1F6B52}
.ekt-toast.err{background:#F8DDD6;color:#A3321A}
.ekt-toast.hide{display:none}
.ekt-login{max-width:380px;margin:30px auto}

@media (min-width:700px){
.ekt-nav{order:0;width:auto;margin-left:36px}
.ekt-nav a{flex:none}
.ekt-tasks{grid-template-columns:1fr 1fr}
.ekt-thead{display:grid;padding:0 16px 6px;color:var(--mut);font-size:13px;font-weight:600}
.ekt-thead,.ekt-mat{grid-template-columns:38px minmax(0,1fr) 110px 80px 100px;gap:14px;align-items:center}
.ekt-mat{display:grid}
.ekt-col{display:block}
.ekt-mat .ekt-row-name small{display:none}
}
@media (min-width:980px){
.ekt-desktop .ekt-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:22px;align-items:start}
}
@media (max-width:520px){
.ekt-app{padding:12px;border-radius:22px}
.ekt-kpi-num{font-size:52px}
.ekt-pills{flex-direction:row;align-items:center}
.ekt-un{display:none}
.ekt-ico{display:none}
.ekt-day{font-size:10px;padding:8px 1px}
.ekt-day b{font-size:16px}
}

/* Link tanpa garis bawah (menimpa gaya tema) */
.ekt-app a,.ekt-app a:hover{text-decoration:none!important;box-shadow:none}
.ekt-app .ekt-btn.ghost{box-shadow:inset 0 0 0 1.5px var(--bd)}
.ekt-cnt{background:var(--mar);color:var(--ala)}

/* Tab Riwayat */
.ekt-hhead{display:flex;justify-content:space-between;align-items:flex-end;margin:4px 0 14px}
.ekt-chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.ekt-chip{border:0;border-radius:99px;padding:9px 16px;font-size:13px;font-weight:700;background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--bd);cursor:pointer;font-family:inherit}
.ekt-chip span{opacity:.6;margin-left:4px}
.ekt-chip.on{background:var(--mar);color:var(--ala);box-shadow:none}
.ekt-pager{margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:13px;color:var(--mut)}
.ekt-hrow .ekt-prog{grid-column:1/-1}
@media (min-width:700px){
.ekt-thead.ekt-hrow,.ekt-row.ekt-hrow{display:grid;grid-template-columns:minmax(0,1fr) 170px 120px 70px 130px;gap:14px;align-items:center}
.ekt-hrow .ekt-row-name small{display:block}
}

/* Layar penuh (template tanpa menu tema) */
body.ekt-fullpage{margin:0;padding:0;background:#EFE8DF}
body.ekt-fullpage>*:not(.ekt-shell):not(script):not(style):not(link){display:none!important}
.ekt-fullpage .ekt-shell{min-height:100vh}
.ekt-fullpage .ekt-app.ekt-desktop{max-width:none;margin:0;border-radius:0;min-height:100vh;padding:24px clamp(16px,4vw,56px)}
.ekt-fullpage .ekt-desktop .ekt-top,.ekt-fullpage .ekt-desktop .ekt-grid,.ekt-fullpage .ekt-desktop .ekt-note{max-width:1480px;margin-left:auto;margin-right:auto}
.ekt-fullpage .ekt-desktop .ekt-top{margin-bottom:18px}
.ekt-fullpage .ekt-app:not(.ekt-desktop){margin:24px auto}
