.anc{--c:#0f766e;--c2:#115e59;--bg:#f3f7f7;--ink:#10282b;--mut:#5b7376;--line:#dbe6e6;--ok:#15803d;--warn:#b45309;--err:#b91c1c;
max-width:760px;margin:0 auto;padding:12px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);line-height:1.5;box-sizing:border-box}
.anc *{box-sizing:border-box}
.anc a{color:var(--c)}
.anc-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.anc-brand{font-size:20px;font-weight:700;color:var(--c2)}
.anc-sub,.anc-muted{color:var(--mut);font-size:14px}
.anc-link{font-size:14px;text-decoration:none;font-weight:600}
.anc-nav{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;margin-bottom:12px;-webkit-overflow-scrolling:touch}
.anc-nav a{white-space:nowrap;text-decoration:none;padding:8px 14px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--ink);font-size:14px;font-weight:600}
.anc-nav a.on{background:var(--c);border-color:var(--c);color:#fff}
.anc-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;margin-bottom:12px;box-shadow:0 1px 2px rgba(16,40,43,.04)}
.anc-card h3{margin:0 0 8px;font-size:17px;color:var(--ink)}
.anc-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.anc-cols{display:grid;gap:12px}
@media(min-width:720px){.anc-cols{grid-template-columns:1fr 1fr}.anc-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}}
.anc-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:420px){.anc-two{grid-template-columns:1fr}}
.anc-form label,.anc .login-username label,.anc .login-password label{display:block;font-size:14px;font-weight:600;margin-bottom:12px}
.anc input[type=text],.anc input[type=email],.anc input[type=tel],.anc input[type=password],.anc input[type=number],.anc input[type=date],.anc input[type=month],.anc input[type=file],.anc select,.anc textarea{display:block;width:100%;margin-top:4px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
.anc input:focus,.anc select:focus,.anc textarea:focus{outline:2px solid var(--c);outline-offset:1px}
.anc-btn,.anc .button-primary,.anc input[type=submit]{display:inline-block;background:var(--c);color:#fff!important;border:0;border-radius:10px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;text-align:center}
.anc-btn:hover{background:var(--c2)}
.anc-btn.anc-sm{padding:7px 12px;font-size:14px}
.anc-btn.anc-ghost{background:#fff;color:var(--c)!important;border:1px solid var(--c);margin-top:8px}
.anc-btn.anc-big{display:block;width:100%;font-size:22px;padding:22px 16px;border-radius:16px;margin:10px 0}
.anc-btn.anc-in{background:#15803d}.anc-btn.anc-out{background:#b45309}
.anc-btn[disabled]{opacity:.6;cursor:wait}
.anc-actions{margin:10px 0}
.anc-notice{padding:12px 14px;border-radius:10px;margin-bottom:12px;font-size:14px;font-weight:600}
.anc-ok{background:#dcfce7;color:#14532d}.anc-err{background:#fee2e2;color:#7f1d1d}
.anc-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.anc-stats.three{grid-template-columns:repeat(3,1fr)}
.anc-stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}
.anc-stat b{display:block;font-size:22px;color:var(--c2)}.anc-stat span{font-size:12px;color:var(--mut)}
.anc-list{display:flex;flex-direction:column;gap:8px}
.anc-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)!important;margin-bottom:8px}
a.anc-item:hover{border-color:var(--c)}
.anc-right{text-align:right}
.anc-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}
.anc-b-green{background:#dcfce7;color:#14532d}.anc-b-amber{background:#fef3c7;color:#78350f}.anc-b-red{background:#fee2e2;color:#7f1d1d}.anc-b-blue{background:#dbeafe;color:#1e3a8a}.anc-b-gray{background:#e5eded;color:#3b5154}
.anc-dl{display:grid;grid-template-columns:110px 1fr;gap:6px 12px;margin:0 0 8px;font-size:14px}
.anc-dl dt{color:var(--mut)}.anc-dl dd{margin:0}
.anc-tablewrap{overflow-x:auto}
.anc-table{width:100%;border-collapse:collapse;font-size:14px}
.anc-table th,.anc-table td{padding:8px 6px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.anc-upd{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.anc-upd:first-of-type{border-top:0;margin-top:0}
.anc-vitals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:8px 0}
.anc-vitals div{background:var(--bg);border-radius:10px;padding:8px 10px}
.anc-vitals span{display:block;font-size:11px;color:var(--mut)}.anc-vitals b{font-size:14px}
.anc-clock{text-align:center;background:linear-gradient(135deg,#0f766e,#115e59);color:#fff;border:0}
.anc-clock .anc-time{font-size:40px;font-weight:800;letter-spacing:1px;font-variant-numeric:tabular-nums}
.anc-clock .anc-date{opacity:.85;font-size:14px}
.anc-punch{margin:8px 0}
.anc-punch-msg{min-height:20px;font-size:14px;font-weight:600;text-align:center}
.anc-punch-msg.err{color:var(--err)}.anc-punch-msg.ok{color:var(--ok)}
.anc-done{background:#dcfce7;color:#14532d;border-radius:12px;padding:14px;text-align:center;font-weight:700}
.anc-warn{background:#fff7ed;border-left:4px solid #f59e0b;padding:8px 12px;border-radius:6px;font-size:14px}
.anc-inline{display:flex;gap:8px;align-items:center;margin:8px 0}
.anc-inline input{margin:0!important}
.anc-methods{margin-bottom:12px}
.anc-radio{display:block;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px;font-weight:600}
.anc-radio input{display:inline!important;width:auto!important;margin-right:8px!important}
.anc-bankbox{background:var(--bg);border-radius:10px;padding:12px;margin-bottom:12px}
.anc-estimate{font-size:15px}
.anc-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.anc .login-remember{display:none}
.anc #loginform p{margin:0 0 12px}

/* Halaman hub (3 pautan konsol) */
.anc-hub{max-width:960px}
.anc-hubgrid{display:grid;gap:12px}
@media(min-width:720px){.anc-hubgrid{grid-template-columns:repeat(3,1fr)}}
.anc-hubcard{display:block;text-decoration:none;color:var(--ink)!important}
.anc-hubcard:hover{border-color:var(--c)}
.anc-hubcard p{min-height:64px}
