
:root{
  --ah-deep:#07382d;
  --ah-green:#0a4c3b;
  --ah-green2:#0e6650;
  --ah-gold:#c7a35a;
  --ah-ivory:#f7f5ef;
  --ah-paper:#fff;
  --ah-ink:#17372e;
  --ah-muted:#69756f;
  --ah-line:#e5dfd4;
  --ah-shadow:0 24px 65px rgba(7,48,37,.10);
}
.ahsim-page-root{background:#f4f6f3;min-height:70vh}
.ahsim-page-root *{box-sizing:border-box}
.ahsim-page-root a{text-decoration:none}

/* LOGIN */
.ahsim-login{
  min-height:calc(100vh - 98px);
  display:grid;
  grid-template-columns:1.12fr .88fr;
  background:
    radial-gradient(circle at 18% 20%,rgba(199,163,90,.08),transparent 27%),
    #faf8f2;
}
.ahsim-login-copy{
  position:relative;
  padding:90px max(52px,calc((100vw - 1220px)/2));
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
}
.ahsim-login-copy:before{
  content:"";
  position:absolute;inset:0;
  opacity:.07;
  background-image:
    radial-gradient(circle at 24px 24px,transparent 15px,rgba(199,163,90,.55) 16px,transparent 17px),
    linear-gradient(45deg,transparent 47%,rgba(199,163,90,.42) 48%,rgba(199,163,90,.42) 52%,transparent 53%),
    linear-gradient(-45deg,transparent 47%,rgba(199,163,90,.42) 48%,rgba(199,163,90,.42) 52%,transparent 53%);
  background-size:100px 100px;
  mask-image:linear-gradient(90deg,#000,transparent 90%);
}
.ahsim-login-copy>*{position:relative;z-index:2}
.ahsim-kicker{display:inline-block;color:#98742e;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.ahsim-login-copy h1{
  max-width:760px;margin:14px 0 20px;
  font-family:"DM Serif Display","Georgia",serif;
  font-size:clamp(48px,5vw,74px);line-height:.98;font-weight:400;color:var(--ah-deep)
}
.ahsim-login-copy>p{max-width:690px;margin:0;color:#5f6c65;font-size:17px}
.ahsim-login-points{display:grid;gap:0;margin-top:36px;max-width:660px;border-top:1px solid #dfd6c6}
.ahsim-login-points span{display:flex;gap:18px;padding:15px 0;border-bottom:1px solid #dfd6c6;color:#4c5e56;font-size:13px}
.ahsim-login-points b{color:var(--ah-gold)}

.ahsim-login-card{
  align-self:center;
  justify-self:start;
  width:min(440px,calc(100% - 46px));
  margin-left:18px;
  padding:40px 38px 34px;
  border:1px solid rgba(226,218,202,.95);
  border-radius:28px;
  background:rgba(255,255,255,.97);
  box-shadow:0 34px 80px rgba(7,48,37,.15);
}
.ahsim-login-logo{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:90px;
  margin-bottom:20px;
}
.ahsim-login-logo img{
  width:auto;
  height:90px;
  max-width:190px;
  object-fit:contain;
}
.ahsim-login-card h2{font-family:"DM Serif Display","Georgia",serif;font-weight:400;font-size:38px;line-height:1;margin:8px 0;color:var(--ah-deep)}
.ahsim-login-card>p{font-size:13px;color:#6c7771;margin:0 0 22px}
.ahsim-login-form label{display:block;margin:0 0 15px;color:#344d44;font-size:12px;font-weight:800}
.ahsim-login-form input[type=text],.ahsim-login-form input[type=password]{
  display:block;width:100%;height:52px;margin-top:7px;padding:0 14px;
  border:1px solid #ddd5c7;border-radius:12px;background:#fcfbf8;outline:0;font:inherit
}
.ahsim-login-form input:focus{border-color:#bca15c;box-shadow:0 0 0 4px rgba(199,163,90,.10);background:#fff}
.ahsim-login-form .ahsim-check{display:flex;align-items:center;gap:8px;color:#68736d;font-weight:600}.ahsim-check input{accent-color:var(--ah-green)}
.ahsim-login-form button{
  width:100%;height:54px;margin-top:6px;border:0;border-radius:13px;
  background:linear-gradient(135deg,var(--ah-green),var(--ah-green2));color:#fff;font-weight:800;cursor:pointer;
  box-shadow:0 14px 28px rgba(10,76,59,.18)
}
.ahsim-login-links{display:flex;justify-content:space-between;gap:14px;margin-top:18px;font-size:12px}
.ahsim-login-links a{color:#98742e;font-weight:700}
.ahsim-security{margin-top:22px;padding:13px 14px;border-radius:12px;background:#f4f1e9;color:#65716b;font-size:11px}
.ahsim-alert{padding:12px 14px;border-radius:12px;margin-bottom:15px;font-size:12px;font-weight:700}
.ahsim-alert.error{background:#fff0ed;color:#97463a;border:1px solid #f0cec7}
.ahsim-alert.success{background:#edf8f1;color:#286247;border:1px solid #cde6d5}

/* PORTAL LAYOUT */
.ahsim-portal{padding:28px;background:#f4f6f3}
.ahsim-portal-grid{
  width:min(1440px,100%);min-height:760px;margin:auto;display:grid;grid-template-columns:260px 1fr;
  overflow:hidden;border:1px solid #e1ded5;border-radius:28px;background:#fff;box-shadow:var(--ah-shadow)
}
.ahsim-sidebar{
  display:flex;flex-direction:column;padding:28px 20px 22px;color:#fff;
  background:
    radial-gradient(circle at 100% 0,rgba(255,255,255,.08),transparent 24%),
    linear-gradient(180deg,#073a2e 0%,#0a4d3b 70%,#083c30 100%)
}
.ahsim-brand{display:flex;align-items:center;gap:12px;padding:0 7px 27px;border-bottom:1px solid rgba(255,255,255,.10)}
.ahsim-brand-mark{width:48px;height:48px;display:grid;place-items:center;border:1px solid rgba(231,204,139,.55);border-radius:15px;color:#e6ca87;font-weight:900;font-size:12px}
.ahsim-brand b{display:block;font-size:13px;letter-spacing:.08em}.ahsim-brand small{display:block;margin-top:3px;color:rgba(255,255,255,.62);font-size:10px}
.ahsim-side-nav{display:grid;gap:6px;padding-top:25px}
.ahsim-nav-item{display:flex;align-items:center;justify-content:space-between;padding:13px 13px;border-radius:12px;color:rgba(255,255,255,.72);font-size:13px;font-weight:700}
.ahsim-nav-item b{font-size:20px;font-weight:400;color:#e0c687}.ahsim-nav-item:hover,.ahsim-nav-item.current{color:#fff;background:rgba(255,255,255,.09)}
.ahsim-side-note{margin-top:auto;padding:17px;border:1px solid rgba(231,204,139,.20);border-radius:15px;background:rgba(255,255,255,.035)}
.ahsim-side-note span{font-size:10px;color:#e3c886;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.ahsim-side-note p{font-size:11px;color:rgba(255,255,255,.60);margin:7px 0 0}
.ahsim-user{display:grid;grid-template-columns:38px 1fr;gap:10px;align-items:center;margin-top:16px;padding:14px 8px 8px;border-top:1px solid rgba(255,255,255,.10)}
.ahsim-user>span{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#e2c77f;color:#173b31;font-weight:900}
.ahsim-user b{display:block;font-size:11px}.ahsim-user small{display:block;color:rgba(255,255,255,.55);font-size:9px;margin-top:2px}.ahsim-logout{display:block;padding:9px 8px;color:#e5ce94;font-size:11px;font-weight:700}

.ahsim-main{min-width:0;background:#f8f8f5}
.ahsim-topbar{display:flex;justify-content:space-between;gap:26px;align-items:center;padding:32px 38px 25px;background:#fff;border-bottom:1px solid #ebe6dc}
.ahsim-topbar h1{margin:5px 0 2px;font-family:"DM Serif Display","Georgia",serif;font-size:38px;font-weight:400;color:var(--ah-deep)}.ahsim-topbar p{margin:0;color:#6c7771;font-size:12px}
.ahsim-top-user{text-align:right;padding:10px 14px;border:1px solid #e6dfd2;border-radius:12px;background:#fbfaf6}.ahsim-top-user span{display:block;color:#98742e;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.ahsim-top-user b{display:block;margin-top:3px;color:#314b42;font-size:12px}
.ahsim-content{padding:28px 38px 40px}

/* DASHBOARD */
.ahsim-welcome{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:30px 32px;border-radius:20px;color:#fff;background:linear-gradient(135deg,#0a4435,#0d604a);box-shadow:0 16px 38px rgba(9,72,56,.13)}
.ahsim-welcome>div:first-child{max-width:740px}.ahsim-welcome span{font-size:9px;color:#e6cd91;font-weight:800;letter-spacing:.14em}.ahsim-welcome h2{margin:8px 0;font-family:"DM Serif Display","Georgia",serif;font-size:30px;line-height:1.12;font-weight:400}.ahsim-welcome p{margin:0;color:rgba(255,255,255,.70);font-size:12px}.ahsim-welcome-mark{width:92px;height:92px;display:grid;place-items:center;border:1px solid rgba(230,205,145,.40);border-radius:27px;color:#e6cd91;font-family:"DM Serif Display","Georgia",serif;font-size:27px}
.ahsim-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.ahsim-stats a{padding:20px 22px;border:1px solid var(--ah-line);border-radius:17px;background:#fff}.ahsim-stats span{font-size:11px;color:#718078;font-weight:700}.ahsim-stats strong{display:block;margin:7px 0 3px;font-family:"DM Serif Display","Georgia",serif;font-size:38px;font-weight:400;color:var(--ah-deep)}.ahsim-stats small{font-size:10px;color:#9a8d77}
.ahsim-section-head{margin:32px 0 14px}.ahsim-section-head h2{font-family:"DM Serif Display","Georgia",serif;font-weight:400;font-size:28px;margin:5px 0;color:var(--ah-deep)}
.ahsim-module-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.ahsim-module-cards>a{padding:24px;border:1px solid var(--ah-line);border-radius:18px;background:#fff}.ahsim-module-cards .icon{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:#edf2ee;color:var(--ah-green);font-size:11px;font-weight:900}.ahsim-module-cards h3{font-family:"DM Serif Display","Georgia",serif;font-size:22px;font-weight:400;margin:17px 0 8px;color:var(--ah-deep)}.ahsim-module-cards p{min-height:55px;margin:0 0 15px;color:#6b7670;font-size:12px}.ahsim-module-cards b{color:#98742e;font-size:11px}
.ahsim-privacy{margin-top:20px;padding:17px 19px;border:1px solid #e1ddd2;border-radius:14px;background:#f2f0e9}.ahsim-privacy b{font-size:12px;color:#334d43}.ahsim-privacy p{margin:5px 0 0;color:#6a746e;font-size:11px}

/* TABLES */
.ahsim-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.ahsim-search{display:flex;width:min(520px,100%)}.ahsim-search input{flex:1;height:44px;border:1px solid #ddd8ce;border-right:0;border-radius:11px 0 0 11px;padding:0 13px;background:#fff;outline:none}.ahsim-search button{height:44px;border:0;border-radius:0 11px 11px 0;padding:0 18px;background:var(--ah-deep);color:#fff;font-weight:800}.ahsim-result{font-size:11px;color:#7a847f}.ahsim-toolbar-actions{display:flex;align-items:center;gap:12px}.ahsim-primary-action{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:11px;background:var(--ah-green);color:#fff!important;font-size:11px;font-weight:800}
.ahsim-table-card{border:1px solid #e4dfd6;border-radius:17px;background:#fff;overflow:hidden}.ahsim-table-scroll{overflow-x:auto}.ahsim-table{width:100%;border-collapse:collapse;font-size:12px}.ahsim-table th{text-align:left;padding:14px 16px;color:#7c847f;background:#f5f4ef;border-bottom:1px solid #e5e0d6;font-size:9px;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.ahsim-table td{padding:15px 16px;border-bottom:1px solid #eeeae2;color:#52615a;vertical-align:top}.ahsim-table tbody tr:last-child td{border-bottom:0}.ahsim-table td b{color:#24443a}.ahsim-table .empty{text-align:center;padding:35px;color:#8a938e}.ahsim-badge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:800;white-space:nowrap}.ahsim-badge.green{background:#e9f4ed;color:#34704f}.ahsim-badge.gold{background:#f7f0dd;color:#8b6927}.ahsim-badge.neutral{background:#f0f0ec;color:#69736e}.ahsim-edit{color:#98742e;font-weight:800;font-size:10px}
.ahsim-pagination{display:flex;gap:6px;margin-top:16px}.ahsim-pagination a,.ahsim-pagination span{min-width:34px;height:34px;padding:0 9px;display:grid;place-items:center;border:1px solid #ded8cc;border-radius:9px;background:#fff;color:#526058;font-size:11px}.ahsim-pagination .current{background:var(--ah-green);border-color:var(--ah-green);color:#fff}

/* FORM */
.ahsim-form-card{border:1px solid #e4dfd5;border-radius:18px;background:#fff;overflow:hidden}.ahsim-form-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:24px 26px;border-bottom:1px solid #ece7dd}.ahsim-form-head h2{font-family:"DM Serif Display","Georgia",serif;font-size:28px;font-weight:400;margin:5px 0}.ahsim-form-head p{margin:0;color:#727d77;font-size:11px}.ahsim-form-head>a{color:#98742e;font-size:11px;font-weight:800}.ahsim-form{display:grid;grid-template-columns:1fr 1fr;gap:17px;padding:26px}.ahsim-form label{display:block;color:#394f46;font-size:11px;font-weight:800}.ahsim-form .full{grid-column:1/-1}.ahsim-form input,.ahsim-form select,.ahsim-form textarea{width:100%;margin-top:7px;border:1px solid #ddd7cc;border-radius:10px;background:#fcfbf8;padding:11px 12px;font:inherit;color:#29463d;outline:none}.ahsim-form input,.ahsim-form select{height:46px}.ahsim-form textarea{resize:vertical}.ahsim-form input:focus,.ahsim-form select:focus,.ahsim-form textarea:focus{border-color:#bca15d;box-shadow:0 0 0 4px rgba(199,163,90,.09);background:#fff}.ahsim-form-actions{display:flex;justify-content:flex-end;align-items:center;gap:14px;padding-top:6px}.ahsim-form-actions>a{color:#777f7b;font-size:11px;font-weight:700}.ahsim-form-actions button{height:45px;border:0;border-radius:11px;padding:0 18px;background:var(--ah-green);color:#fff;font-weight:800;cursor:pointer}

/* DENIED */
.ahsim-denied{max-width:680px;margin:70px auto;padding:40px;border:1px solid #e2ddd2;border-radius:22px;background:#fff;box-shadow:var(--ah-shadow)}.ahsim-denied>span{color:#9a752e;font-size:9px;font-weight:900;letter-spacing:.15em}.ahsim-denied h2{font-family:"DM Serif Display","Georgia",serif;font-weight:400;font-size:32px;color:var(--ah-deep)}.ahsim-denied p{color:#6c7771}.ahsim-denied a{color:#98742e;font-size:12px;font-weight:800}

/* RESPONSIVE */
@media(max-width:1050px){
  .ahsim-login{grid-template-columns:1fr}.ahsim-login-copy{padding:65px 32px 34px}.ahsim-login-card{justify-self:center;margin:0 0 60px}
  .ahsim-portal{padding:15px}.ahsim-portal-grid{grid-template-columns:220px 1fr}.ahsim-content{padding:24px}.ahsim-topbar{padding:26px 24px}
  .ahsim-module-cards{grid-template-columns:1fr 1fr}
}
@media(max-width:800px){
  .ahsim-portal{padding:0}.ahsim-portal-grid{display:block;border-radius:0;border-left:0;border-right:0}
  .ahsim-sidebar{padding:18px}.ahsim-side-nav{grid-template-columns:repeat(2,1fr);display:grid}.ahsim-side-note{display:none}.ahsim-user{margin-top:14px}.ahsim-logout{position:absolute;right:20px;top:26px}
  .ahsim-topbar{align-items:flex-start}.ahsim-top-user{display:none}.ahsim-content{padding:20px}
  .ahsim-stats,.ahsim-module-cards{grid-template-columns:1fr}.ahsim-welcome-mark{display:none}
  .ahsim-toolbar{align-items:stretch;flex-direction:column}.ahsim-toolbar-actions{justify-content:space-between}.ahsim-search{width:100%}
}
@media(max-width:560px){
  .ahsim-login-copy{padding:44px 22px 28px}.ahsim-login-copy h1{font-size:43px}.ahsim-login-copy>p{font-size:15px}.ahsim-login-points{display:none}
  .ahsim-login-card{width:calc(100% - 26px);padding:30px 22px;margin-bottom:45px;border-radius:20px}
  .ahsim-side-nav{grid-template-columns:1fr}.ahsim-brand{padding-bottom:17px}.ahsim-topbar h1{font-size:31px}
  .ahsim-welcome{padding:24px 20px}.ahsim-welcome h2{font-size:26px}
  .ahsim-form{grid-template-columns:1fr;padding:20px}.ahsim-form .full{grid-column:auto}.ahsim-form-head{padding:20px;flex-direction:column}
}


/* =========================================================
   V2.1 PORTAL SHELL HARDENING
   Prevent theme page/article styles from breaking SIM layout.
   ========================================================= */
.ahsim-page-root{
  width:100%;
  max-width:none;
  margin:0;
  padding:0;
}
.ahsim-page-root > .ahsim-portal,
.ahsim-page-root > .ahsim-login{
  width:100%;
}
.ahsim-portal h1,.ahsim-portal h2,.ahsim-portal h3,.ahsim-portal h4,
.ahsim-portal p,.ahsim-portal ul,.ahsim-portal ol,
.ahsim-login h1,.ahsim-login h2,.ahsim-login p{
  max-width:none;
}
.ahsim-portal .ahsim-sidebar a,
.ahsim-portal .ahsim-main a{
  text-decoration:none;
}
.admin-bar .ahsim-login{
  min-height:calc(100vh - 130px);
}


/* =========================================================
   V2.2 — EDUCATION STRUCTURE
   ========================================================= */
.ahsim-education-hero,.ahsim-btq-banner,.ahsim-quran-hero{
 position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:28px;
 padding:30px 32px;border-radius:20px;color:#fff;background:linear-gradient(125deg,#07382d,#0d604a);
 box-shadow:0 16px 38px rgba(9,72,56,.12)
}
.ahsim-education-hero:before,.ahsim-btq-banner:before,.ahsim-quran-hero:before{
 content:"";position:absolute;width:260px;height:260px;right:-75px;top:-130px;
 border:1px solid rgba(231,204,139,.18);transform:rotate(45deg)
}
.ahsim-education-hero>div:first-child,.ahsim-btq-banner>div:first-child,.ahsim-quran-hero>div:first-child{position:relative;z-index:2;max-width:760px}
.ahsim-education-hero h2,.ahsim-btq-banner h2,.ahsim-quran-hero h2{
 margin:8px 0;font-family:"DM Serif Display","Georgia",serif;font-weight:400;font-size:31px;line-height:1.08
}
.ahsim-quran-hero h2 em{color:#e4c77e;font-style:normal}
.ahsim-education-hero p,.ahsim-btq-banner p,.ahsim-quran-hero p{margin:0;max-width:720px;color:rgba(255,255,255,.70);font-size:12px}
.ahsim-edu-ornament{
 position:relative;z-index:2;width:105px;height:105px;display:grid;place-items:center;flex:0 0 105px;
 border:1px solid rgba(231,204,139,.38);border-radius:50%;color:#e7cc89;font-family:Georgia,serif;font-size:23px
}
.ahsim-edu-cards{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.ahsim-edu-card{position:relative;padding:25px;border:1px solid var(--ah-line);border-radius:18px;background:#fff}
.ahsim-edu-card.featured{border-color:#d8c692;background:linear-gradient(145deg,#fff,#fcfaf4)}
.ahsim-edu-card .num{display:block;color:#a17c34;font-size:9px;font-weight:900;letter-spacing:.12em}
.ahsim-edu-card .symbol{
 width:56px;height:56px;margin:17px 0 15px;display:grid;place-items:center;border-radius:17px;
 background:#edf2ee;color:#0a503d;font-family:Georgia,serif;font-size:17px
}
.ahsim-edu-card h3,.ahsim-btq-grid h3,.quran-path h3{
 margin:0 0 7px;font-family:"DM Serif Display","Georgia",serif;font-size:23px;font-weight:400;color:var(--ah-deep)
}
.ahsim-edu-card p,.ahsim-btq-grid p,.quran-path p{margin:0 0 15px;color:#6c7771;font-size:11px}
.ahsim-edu-card b,.ahsim-btq-grid b,.quran-path b{color:#98742e;font-size:10px}
.ahsim-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:14px;color:#7a847f;font-size:10px}
.ahsim-breadcrumb a{color:#98742e;font-weight:700}.ahsim-breadcrumb b{color:#354f46}
.ahsim-btq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}
.ahsim-btq-grid>a{padding:24px;border:1px solid var(--ah-line);border-radius:18px;background:#fff}
.ahsim-btq-grid>a>span{font-size:9px;color:#a17c34;font-weight:900}
.ahsim-btq-grid .icon{
 width:58px;height:58px;display:grid;place-items:center;margin:16px 0;border-radius:17px;
 color:#e0c27a;background:#0a4d3b;font-family:Georgia,serif;font-size:17px
}
.ahsim-btq-grid .icon.arabic{font-size:14px}
.quran-medallion{
 position:relative;z-index:2;width:125px;height:125px;flex:0 0 125px;display:grid;place-content:center;text-align:center;
 border:1px solid rgba(229,201,133,.40);border-radius:50%;box-shadow:0 0 0 12px rgba(255,255,255,.025)
}
.quran-medallion span{font-family:Georgia,serif;color:#e6ca83;font-size:24px}.quran-medallion small{color:rgba(255,255,255,.55);font-size:8px}
.ahsim-quran-paths{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.quran-path{padding:26px;border:1px solid var(--ah-line);border-radius:18px;background:#fff}
.quran-path>span{display:block;margin-bottom:18px;color:#a17c34;font-size:9px;font-weight:900}
.quran-path.coming{opacity:.72}.quran-path.active{border-color:#d6c38f;background:linear-gradient(145deg,#fff,#fcfaf4)}
.ahsim-coming-card{padding:42px;border:1px dashed #d8d1c4;border-radius:20px;text-align:center;background:#fbfaf6}
.ahsim-coming-card>span{color:#98742e;font-size:9px;font-weight:900;letter-spacing:.14em}
.ahsim-coming-card h2{font-family:"DM Serif Display","Georgia",serif;font-size:34px;font-weight:400;color:var(--ah-deep);margin:8px 0}
.ahsim-coming-card p{max-width:600px;margin:0 auto;color:#727d77;font-size:12px}
@media(max-width:900px){.ahsim-edu-cards,.ahsim-btq-grid,.ahsim-quran-paths{grid-template-columns:1fr}}
@media(max-width:560px){
 .ahsim-education-hero,.ahsim-btq-banner,.ahsim-quran-hero{padding:24px 20px}
 .ahsim-edu-ornament,.quran-medallion{display:none}
}


/* =========================================================
   V2.3 — FRONTEND DATA SANTRI
   ========================================================= */
.ahsim-student-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 30px;margin-bottom:14px;border-radius:20px;color:#fff;background:linear-gradient(125deg,#07382d,#0c5d47)}
.ahsim-student-hero:after{content:"";position:absolute;right:-70px;top:-100px;width:230px;height:230px;border:1px solid rgba(227,199,129,.20);transform:rotate(45deg)}
.ahsim-student-hero>div:first-child{position:relative;z-index:2;max-width:690px}.ahsim-student-hero h2{margin:6px 0 7px;font-family:"DM Serif Display",Georgia,serif;font-size:29px;line-height:1.08;font-weight:400}.ahsim-student-hero p{margin:0;color:rgba(255,255,255,.68);font-size:11px}
.ahsim-student-count{position:relative;z-index:2;min-width:120px;padding:17px 19px;text-align:center;border:1px solid rgba(229,201,133,.30);border-radius:16px;background:rgba(255,255,255,.045)}
.ahsim-student-count strong{display:block;font-family:"DM Serif Display",Georgia,serif;font-size:30px;font-weight:400;color:#e4c67c}.ahsim-student-count small{font-size:8px;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.1em}
.ahsim-notice.success{margin:0 0 14px;padding:12px 15px;border:1px solid #cfe3d4;border-radius:11px;background:#eef8f0;color:#2d6848;font-size:10px;font-weight:800}
.ahsim-student-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:14px;align-items:start}
.ahsim-student-form-card,.ahsim-student-list-card{border:1px solid var(--ah-line);border-radius:18px;background:#fff;overflow:hidden}.ahsim-student-list-card.fullwidth{width:100%}
.ahsim-card-title{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #eee9df}.ahsim-card-title h3{margin:3px 0 0;font-family:"DM Serif Display",Georgia,serif;color:var(--ah-deep);font-size:22px;font-weight:400}.ahsim-small-link{font-size:9px;font-weight:800;color:#98742e}
.ahsim-student-form{display:grid;grid-template-columns:1fr 1fr;gap:13px;padding:19px 20px}.ahsim-student-form label{font-size:9px;font-weight:800;color:#43564f}.ahsim-student-form label.full,.ahsim-student-form .full{grid-column:1/-1}
.ahsim-student-form input,.ahsim-student-form select{width:100%;height:42px;margin-top:6px;padding:9px 10px;border:1px solid #ddd8cd;border-radius:10px;background:#fcfbf8;color:#2d493f;font:inherit;outline:none}.ahsim-student-form input:focus,.ahsim-student-form select:focus{border-color:#baa066;box-shadow:0 0 0 3px rgba(186,160,102,.09)}
.ahsim-primary-button{height:45px;border:0;border-radius:11px;cursor:pointer;background:linear-gradient(135deg,#07382d,#0d624a);color:#fff;font-size:10px;font-weight:900;box-shadow:0 10px 24px rgba(7,56,45,.14)}
.ahsim-card-title.list-head{align-items:end}.ahsim-student-search{display:flex;gap:7px}.ahsim-student-search input{width:190px;height:38px;padding:8px 10px;border:1px solid #ddd8cd;border-radius:9px;background:#fbfaf7;font-size:9px}.ahsim-student-search button{height:38px;padding:0 13px;border:1px solid #d8c794;border-radius:9px;background:#fffaf0;color:#8b6c30;font-size:9px;font-weight:900;cursor:pointer}
.ahsim-student-list-card .ahsim-table{min-width:680px}.ahsim-table td small{display:block;margin-top:3px;color:#8d958f;font-size:8px}.ahsim-table td.actions{text-align:right}.ahsim-table td.actions a{display:inline-block;padding:6px 9px;border:1px solid #ddd4bf;border-radius:8px;color:#8b6c30;font-size:8px;font-weight:900;background:#fffaf1}
@media(max-width:980px){.ahsim-student-layout{grid-template-columns:1fr}}@media(max-width:620px){.ahsim-student-hero{align-items:flex-start;flex-direction:column;padding:23px 20px}.ahsim-student-count{width:100%}.ahsim-student-form{grid-template-columns:1fr}.ahsim-student-form label.full,.ahsim-student-form .full{grid-column:auto}.ahsim-card-title.list-head{align-items:stretch;flex-direction:column}.ahsim-student-search{width:100%}.ahsim-student-search input{flex:1;width:auto}}


/* =========================================================
   V2.4 — DATA SANTRI FULL WIDTH
   ========================================================= */
.ahsim-student-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin:0 0 18px;
  padding:22px 24px;
  border:1px solid #e3ded4;
  border-radius:18px;
  background:#fff;
}
.ahsim-student-heading{max-width:650px}
.ahsim-student-heading h2{
  margin:4px 0 5px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:29px;
  line-height:1.05;
  font-weight:400;
  color:var(--ah-deep)
}
.ahsim-student-heading p{margin:0;color:#737e78;font-size:11px;line-height:1.55}
.ahsim-student-toolbar-right{display:flex;align-items:center;gap:10px}
.ahsim-student-total{
  min-width:86px;
  padding:8px 14px;
  border-right:1px solid #e5dfd5;
  text-align:right
}
.ahsim-student-total strong{
  display:block;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:25px;font-weight:400;line-height:1;color:var(--ah-deep)
}
.ahsim-student-total span{display:block;margin-top:3px;color:#8a938e;font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.ahsim-secondary-action{
  display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;
  border:1px solid #d8c792;border-radius:11px;background:#fffaf0;
  color:#8a692c!important;font-size:10px;font-weight:900
}
.ahsim-student-form-card.fullwidth,.ahsim-student-list-card.fullwidth,.ahsim-promotion-card{
  width:100%;
  margin:0 0 18px;
  border:1px solid var(--ah-line);
  border-radius:18px;
  background:#fff;
  overflow:hidden
}
.ahsim-card-title{padding:21px 24px}
.ahsim-card-title h3{margin:4px 0 4px;font-size:23px}
.ahsim-card-title p{max-width:720px;margin:0;color:#7b857f;font-size:10px;line-height:1.55}
.ahsim-student-form-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:18px 20px;
  padding:24px
}
.ahsim-student-form-grid label{display:block;color:#40554c;font-size:10px;font-weight:800}
.ahsim-student-form-grid .span-2{grid-column:span 2}
.ahsim-student-form-grid .span-3{grid-column:1/-1}
.ahsim-student-form-grid input,.ahsim-student-form-grid select{
  display:block;width:100%;height:45px;margin-top:7px;padding:0 12px;
  border:1px solid #ddd7cc;border-radius:10px;background:#fcfbf8;
  color:#29463d;font:inherit;outline:none
}
.ahsim-student-form-grid input:focus,.ahsim-student-form-grid select:focus{
  border-color:#bca15d;box-shadow:0 0 0 4px rgba(199,163,90,.09);background:#fff
}
.ahsim-student-form-grid select:disabled{opacity:.68;cursor:not-allowed}
.ahsim-field-help{display:block;margin-top:6px;color:#909892;font-size:8px;font-weight:500}
.ahsim-student-form-grid .ahsim-form-actions{
  display:flex;justify-content:flex-end;align-items:center;gap:14px;
  padding:4px 0 0;border-top:0
}
.ahsim-student-form-grid .ahsim-form-actions a{color:#7a827e;font-size:10px;font-weight:700}
.ahsim-student-form-grid .ahsim-form-actions button{
  min-width:155px;height:45px;border:0;border-radius:11px;
  background:linear-gradient(135deg,#07382d,#0d624a);
  color:#fff;font-size:10px;font-weight:900;cursor:pointer
}

.ahsim-student-list-card .list-head{
  align-items:center;
  padding-top:22px;
  padding-bottom:18px
}
.ahsim-student-search{display:flex;align-items:center;gap:7px}
.ahsim-student-search input{width:210px}
.ahsim-student-search select{
  width:150px;height:38px;padding:0 9px;border:1px solid #ddd8cd;border-radius:9px;
  background:#fbfaf7;color:#445750;font-size:9px
}
.ahsim-student-table{min-width:900px!important}
.ahsim-student-table th,.ahsim-student-table td{padding-left:18px;padding-right:18px}
.ahsim-student-table td:first-child b{font-size:12px;color:#203f35}
.ahsim-nik{font-variant-numeric:tabular-nums;letter-spacing:.03em;color:#69766f}
.ahsim-class-badge{
  display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf4ef;
  color:#35644f;font-size:9px;font-weight:800;white-space:nowrap
}
.ahsim-student-table .action-head{text-align:right}
.ahsim-student-table td.actions{text-align:right}
.ahsim-student-table td.actions a{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:54px;height:30px;padding:0 10px;border:1px solid #ddcfaa;border-radius:8px;
  background:#fffaf0;color:#8a692c;font-size:9px;font-weight:900
}

/* Promotion */
.ahsim-promotion-form{padding:0}
.ahsim-promotion-table{min-width:850px}
.ahsim-promotion-table .check{width:55px;text-align:center}
.ahsim-promotion-table input[type=checkbox]{width:16px;height:16px;accent-color:#0a503d}
.ahsim-promotion-table tr.not-ready{opacity:.52}
.ahsim-promotion-next{
  display:inline-flex;padding:6px 9px;border-radius:999px;background:#edf4ef;
  color:#2d674d;font-size:9px;font-weight:900
}
.ahsim-promotion-actions{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:18px 24px;border-top:1px solid #ece7dd;background:#fbfaf6
}
.ahsim-promotion-actions p{margin:0;color:#7a847e;font-size:9px}
.ahsim-promotion-actions button{
  height:42px;padding:0 17px;border:0;border-radius:10px;background:#0a503d;
  color:#fff;font-size:9px;font-weight:900;cursor:pointer
}


/* =========================================================
   V2.5 — SATU DESAIN RESPONSIF
   Bukan versi laptop/tablet/HP yang berbeda.
   Komponen dan fitur yang sama menyesuaikan ruang layar.
   ========================================================= */
html,
body.ahsim-standalone-body{
  width:100%;
  min-width:0;
  margin:0;
  overflow-x:hidden;
}
body.ahsim-standalone-body{
  background:#f4f6f3;
}
body.ahsim-standalone-body .ahsim-page-root,
body.ahsim-standalone-body .ahsim-main,
body.ahsim-standalone-body .ahsim-content{
  width:100%;
  min-width:0;
}
body.ahsim-standalone-body .ahsim-portal{
  width:100%;
  padding:clamp(10px,2vw,28px);
}
body.ahsim-standalone-body .ahsim-portal-grid{
  width:min(1440px,100%);
  margin:0 auto;
  grid-template-columns:minmax(220px,260px) minmax(0,1fr);
}
body.ahsim-standalone-body .ahsim-topbar{
  padding:clamp(20px,3vw,32px) clamp(18px,3vw,38px);
}
body.ahsim-standalone-body .ahsim-content{
  padding:clamp(18px,3vw,38px);
}

/* Data Santri tetap satu bidang penuh. */
.ahsim-student-toolbar{
  flex-wrap:wrap;
}
.ahsim-student-toolbar-right{
  margin-left:auto;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ahsim-student-form-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.ahsim-student-search{
  flex-wrap:wrap;
  justify-content:flex-end;
}
.ahsim-table-scroll{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.ahsim-student-table,
.ahsim-promotion-table{
  width:100%;
}

/* Tablet: interface sama, hanya susunan yang menyesuaikan. */
@media(max-width:1050px){
  body.ahsim-standalone-body .ahsim-portal-grid{
    grid-template-columns:210px minmax(0,1fr);
  }

  .ahsim-student-form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .ahsim-student-form-grid .span-2,
  .ahsim-student-form-grid .span-3{
    grid-column:1/-1;
  }

  .ahsim-edu-cards,
  .ahsim-quran-paths{
    grid-template-columns:1fr;
  }
  .ahsim-btq-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .tf-grid{
    grid-template-columns:1fr;
  }
  .tf-overview{
    grid-template-columns:1fr 1fr;
  }
  .tf-progress-card{
    grid-column:1/-1;
  }
}

/* HP: tetap interface yang sama; tidak ada menu/fitur mobile terpisah. */
@media(max-width:760px){
  body.ahsim-standalone-body .ahsim-portal{
    padding:8px;
  }
  body.ahsim-standalone-body .ahsim-portal-grid{
    display:block;
    border-radius:18px;
  }
  body.ahsim-standalone-body .ahsim-sidebar{
    width:100%;
    min-height:auto;
    padding:14px;
    border-radius:18px 18px 0 0;
  }
  body.ahsim-standalone-body .ahsim-side-nav{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:3px;
  }
  body.ahsim-standalone-body .ahsim-side-nav a{
    flex:0 0 auto;
    white-space:nowrap;
  }
  body.ahsim-standalone-body .ahsim-side-note{
    display:none;
  }
  body.ahsim-standalone-body .ahsim-topbar{
    align-items:flex-start;
    gap:12px;
  }
  body.ahsim-standalone-body .ahsim-content{
    padding:18px 14px 24px;
  }

  .ahsim-student-toolbar-right{
    width:100%;
    margin-left:0;
    justify-content:flex-start;
  }
  .ahsim-student-form-grid{
    grid-template-columns:1fr;
    gap:15px;
    padding:18px;
  }
  .ahsim-student-form-grid .span-2,
  .ahsim-student-form-grid .span-3{
    grid-column:auto;
  }
  .ahsim-card-title{
    align-items:flex-start;
    flex-direction:column;
  }
  .ahsim-student-search{
    width:100%;
    justify-content:flex-start;
  }
  .ahsim-student-search input,
  .ahsim-student-search select{
    flex:1 1 150px;
    width:auto;
  }
  .ahsim-promotion-actions{
    align-items:flex-start;
    flex-direction:column;
  }

  .ahsim-btq-grid{
    grid-template-columns:1fr;
  }
  .ahsim-edu-ornament,
  .quran-medallion{
    display:none;
  }

  .tf-paths,
  .tf-overview,
  .tf-fields{
    grid-template-columns:1fr;
  }
  .tf-grid{
    grid-template-columns:1fr;
  }
  .tf-progress-card{
    grid-column:auto;
  }
  .tf-studentbar{
    align-items:stretch;
    flex-direction:column;
  }
  .tf-searchselect{
    grid-template-columns:1fr;
  }
  .tf-current{
    text-align:left;
  }
  .tf-fields .full{
    grid-column:auto;
  }
  .tf-ornament{
    display:none;
  }
}

@media(max-width:480px){
  body.ahsim-standalone-body .ahsim-topbar{
    flex-direction:column;
  }
  body.ahsim-standalone-body .ahsim-top-user{
    width:100%;
  }
  .ahsim-primary-action,
  .ahsim-secondary-action{
    flex:1 1 auto;
  }
  .tf-progress-card{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* =========================================================
   V2.7 — PENGELOMPOKAN KELAS AL-QUR'AN
   Keanggotaan program terpisah dari master Data Santri
   ========================================================= */
.ahsim-edu-cards-single{
  grid-template-columns:minmax(0,760px)!important;
}
.ahsim-class-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:19px 22px;
  border:1px solid #dfd8c9;
  border-radius:17px;
  background:linear-gradient(135deg,#fff,#fcfaf4);
}
.ahsim-class-toolbar h3{
  margin:3px 0 2px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:22px;
  font-weight:400;
  color:var(--ah-deep);
}
.ahsim-class-toolbar p{
  margin:0;
  color:#7c8580;
  font-size:9px;
}
.ahsim-class-manager{
  border:1px solid #dfd9ce;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 14px 30px rgba(7,56,45,.05);
}
.ahsim-class-manager-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 20px;
  border-bottom:1px solid #eee9df;
  background:#fbfaf7;
}
.ahsim-class-manager-tools input{
  width:min(390px,100%);
  height:40px;
  padding:0 12px;
  border:1px solid #ddd6c8;
  border-radius:10px;
  background:#fff;
  color:#29463d;
  outline:none;
}
.ahsim-class-manager-tools span{
  color:#87908a;
  font-size:9px;
}
.ahsim-class-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  max-height:460px;
  overflow:auto;
  padding:18px 20px;
}
.ahsim-class-person{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-height:67px;
  padding:11px 13px;
  border:1px solid #e6e0d5;
  border-radius:13px;
  background:#fff;
  cursor:pointer;
}
.ahsim-class-person:hover{
  border-color:#cfba82;
  background:#fffdf8;
}
.ahsim-class-person input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.ahsim-class-person .checkmark{
  width:20px;
  height:20px;
  flex:0 0 20px;
  border:1px solid #cfc8bb;
  border-radius:6px;
  background:#f8f7f3;
}
.ahsim-class-person input:checked + .checkmark{
  border-color:#0a503d;
  background:#0a503d;
  box-shadow:inset 0 0 0 4px #fff;
}
.ahsim-class-person .person-copy{
  min-width:0;
}
.ahsim-class-person .person-copy b,
.ahsim-class-person .person-copy small{
  display:block;
}
.ahsim-class-person .person-copy b{
  color:#27463c;
  font-size:11px;
}
.ahsim-class-person .person-copy small{
  margin-top:4px;
  color:#87908b;
  font-size:8px;
  line-height:1.4;
}
.ahsim-class-empty{
  grid-column:1/-1;
  padding:34px;
  text-align:center;
  color:#7f8983;
  font-size:10px;
}
.ahsim-class-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:16px 20px;
  border-top:1px solid #eee8dd;
  background:#fbfaf6;
}
.ahsim-class-actions p{
  margin:0;
  color:#818a85;
  font-size:9px;
}
.ahsim-class-actions button{
  height:42px;
  padding:0 17px;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg,#07382d,#0d624a);
  color:#fff;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:760px){
  .ahsim-class-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .ahsim-class-list{
    grid-template-columns:1fr;
  }
  .ahsim-class-manager-tools,
  .ahsim-class-actions{
    align-items:flex-start;
    flex-direction:column;
  }
  .ahsim-class-manager-tools input{
    width:100%;
  }
}


/* =========================================================
   V2.8 — PRINT
   ========================================================= */
.ahsim-icon-button,
.ahsim-row-print{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#7f672f;
  border:1px solid #d9c99e;
  background:#fffaf0;
  border-radius:9px;
  text-decoration:none!important;
}
.ahsim-icon-button{width:42px;height:42px}
.ahsim-row-print{width:30px;height:30px;margin-right:5px}
.ahsim-print-document{
  width:min(1000px,calc(100% - 32px));
  margin:26px auto;
  padding:34px 42px;
  background:#fff;
  color:#222;
  box-shadow:0 12px 36px rgba(0,0,0,.08);
}
.ahsim-print-header{margin-bottom:24px}
.ahsim-print-brand{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:18px;
  text-align:left;
}
.ahsim-print-brand img{
  width:auto;
  height:78px;
  max-width:145px;
  object-fit:contain;
}
.ahsim-print-brand strong{
  display:block;
  font-family:Georgia,serif;
  font-size:22px;
  line-height:1.15;
  color:#153e32;
}
.ahsim-print-brand span{
  display:block;
  margin-top:4px;
  font-size:14px;
  color:#444;
}
.ahsim-print-rule{
  height:3px;
  margin:15px 0 18px;
  border-top:2px solid #1b1b1b;
  border-bottom:1px solid #1b1b1b;
}
.ahsim-print-title{text-align:center}
.ahsim-print-title h1{
  margin:0;
  font-family:Georgia,serif;
  font-size:20px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.ahsim-print-title p{margin:5px 0 0;font-size:11px;color:#555}
.ahsim-print-table,
.ahsim-print-detail{
  width:100%;
  border-collapse:collapse;
  font-size:11px;
}
.ahsim-print-table th,
.ahsim-print-table td,
.ahsim-print-detail th,
.ahsim-print-detail td{
  padding:8px 9px;
  border:1px solid #555;
  vertical-align:top;
}
.ahsim-print-table th{background:#f3f3f3;text-align:left}
.ahsim-print-detail th{width:210px;text-align:left;background:#f3f3f3}
.ahsim-print-footer{
  margin-top:16px;
  text-align:right;
  font-size:9px;
  color:#666;
}
@media print{
  @page{size:A4;margin:14mm}
  html,body{background:#fff!important}
  #wpadminbar,
  .ahsim-portal,
  .site-header,
  .site-footer{display:none!important}
  .ahsim-print-document{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    box-shadow:none!important;
  }
}

/* =========================================================
   V2.8 — JILID
   ========================================================= */
.ahsim-jilid-top-actions{
  display:flex;
  align-items:stretch;
  gap:12px;
}
.ahsim-jilid-top-actions .ahsim-class-toolbar{flex:1}
.ahsim-icon-settings{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:145px;
  padding:0 16px;
  border:1px solid #d8c792;
  border-radius:17px;
  background:#fffaf0;
  color:#856729!important;
  font-size:9px;
  font-weight:900;
}
.ahsim-jilid-warning{
  padding:13px 15px;
  border:1px solid #ead9aa;
  border-radius:11px;
  background:#fff9e8;
  color:#765d24;
  font-size:10px;
}
.ahsim-jilid-assignment-list{
  max-height:500px;
  overflow:auto;
}
.ahsim-jilid-assignment-row{
  display:grid;
  grid-template-columns:1fr 180px;
  align-items:center;
  gap:18px;
  padding:12px 20px;
  border-bottom:1px solid #eee9df;
}
.ahsim-jilid-assignment-row b,
.ahsim-jilid-assignment-row small{display:block}
.ahsim-jilid-assignment-row b{color:#2e4a41;font-size:11px}
.ahsim-jilid-assignment-row small{margin-top:3px;color:#8b938e;font-size:8px}
.ahsim-jilid-assignment-row select{
  width:100%;
  height:38px;
  border:1px solid #dcd5c8;
  border-radius:9px;
  background:#fff;
  padding:0 9px;
  color:#374f46;
}
.ahsim-jilid-settings-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  padding:20px;
}
.ahsim-jilid-settings-grid label{font-size:9px;font-weight:800;color:#40554c}
.ahsim-jilid-settings-grid input{
  display:block;
  width:100%;
  height:42px;
  margin-top:6px;
  border:1px solid #ddd6ca;
  border-radius:10px;
  padding:0 10px;
}
.ahsim-jilid-studentbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:18px;
  padding:19px 21px;
  border:1px solid #e1dbd0;
  border-radius:17px;
  background:#fff;
}
.ahsim-jilid-studentbar select{
  display:block;
  min-width:320px;
  height:43px;
  margin-top:6px;
  border:1px solid #dcd5c9;
  border-radius:10px;
  padding:0 11px;
  background:#fcfbf8;
}
.ahsim-jilid-current{text-align:right}
.ahsim-jilid-current span,.ahsim-jilid-current strong,.ahsim-jilid-current em{display:block}
.ahsim-jilid-current span{font-size:8px;color:#888f8b}
.ahsim-jilid-current strong{font-family:Georgia,serif;font-size:21px;color:#0a503d}
.ahsim-jilid-current em{font-style:normal;color:#a17727;font-size:9px;font-weight:900}
.ahsim-jilid-overview{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:14px;
}
.ahsim-jilid-progress-card,
.ahsim-jilid-complete,
.ahsim-jilid-form-card,
.ahsim-jilid-history-card{
  border:1px solid #e1dbd0;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.ahsim-jilid-progress-card{
  display:flex;
  align-items:center;
  gap:20px;
  padding:21px;
}
.ahsim-jilid-ring{
  width:105px;height:105px;flex:0 0 105px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:conic-gradient(#c6a158 var(--jilid-p),#ebe9e3 0);
}
.ahsim-jilid-ring>div{
  width:83px;height:83px;border-radius:50%;
  display:grid;place-content:center;text-align:center;background:#fff;
}
.ahsim-jilid-ring strong{font-family:Georgia,serif;font-size:20px;color:#0a503d}
.ahsim-jilid-ring small{font-size:8px;color:#7c8580}
.ahsim-jilid-progress-card h3{
  margin:5px 0;
  font-family:Georgia,serif;
  font-size:27px;
  font-weight:400;
  color:#07382d;
}
.ahsim-jilid-progress-card h3 small{font-size:14px;color:#7f8983}
.ahsim-jilid-progress-card p{margin:6px 0 0;color:#7e8782;font-size:9px}
.ahsim-jilid-bar{
  width:100%;height:7px;border-radius:99px;background:#ece9e2;overflow:hidden
}
.ahsim-jilid-bar i{
  display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0a503d,#c6a158)
}
.ahsim-jilid-complete{
  padding:21px;
  background:linear-gradient(145deg,#fffdf7,#fff);
}
.ahsim-jilid-complete>span{color:#9a752d;font-size:8px;font-weight:900;letter-spacing:.12em}
.ahsim-jilid-complete h3{font-family:Georgia,serif;font-size:21px;font-weight:400;color:#0a503d;margin:6px 0 15px}
.ahsim-jilid-complete-actions{display:flex;gap:8px;flex-wrap:wrap}
.ahsim-jilid-complete-actions form{margin:0}
.ahsim-jilid-complete-actions button{
  height:39px;padding:0 13px;border:0;border-radius:9px;background:#0a503d;color:#fff;font-size:9px;font-weight:900
}
.ahsim-jilid-complete-actions button.drill{
  background:#fff7e5;color:#866522;border:1px solid #dec991
}
.ahsim-jilid-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:14px;
}
.ahsim-jilid-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  padding:20px;
}
.ahsim-jilid-form label{font-size:9px;font-weight:800;color:#40554c}
.ahsim-jilid-form .full{grid-column:1/-1}
.ahsim-jilid-form input,
.ahsim-jilid-form select,
.ahsim-jilid-form textarea{
  display:block;width:100%;margin-top:6px;border:1px solid #ddd6ca;border-radius:10px;background:#fcfbf8;padding:10px;color:#314b42
}
.ahsim-jilid-form input,.ahsim-jilid-form select{height:42px}
.ahsim-jilid-form button.full{
  height:44px;border:0;border-radius:10px;background:linear-gradient(135deg,#07382d,#0c6049);color:#fff;font-size:9px;font-weight:900
}
.ahsim-jilid-history-row{
  padding:14px 18px;
  border-bottom:1px solid #eee9df;
}
.ahsim-jilid-history-row small,
.ahsim-jilid-history-row b,
.ahsim-jilid-history-row span,
.ahsim-jilid-history-row em{display:block}
.ahsim-jilid-history-row small{font-size:8px;color:#919893}
.ahsim-jilid-history-row b{margin:4px 0;color:#29473d;font-size:11px}
.ahsim-jilid-history-row span{color:#bf9440;font-size:11px;letter-spacing:1px}
.ahsim-jilid-history-row em{margin-top:3px;font-size:8px;color:#77827c;font-style:normal}
@media(max-width:900px){
  .ahsim-jilid-settings-grid{grid-template-columns:repeat(2,1fr)}
  .ahsim-jilid-overview,.ahsim-jilid-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .ahsim-jilid-top-actions,.ahsim-jilid-studentbar{align-items:stretch;flex-direction:column}
  .ahsim-jilid-studentbar select{min-width:0;width:100%}
  .ahsim-jilid-current{text-align:left}
  .ahsim-jilid-assignment-row{grid-template-columns:1fr}
  .ahsim-jilid-settings-grid{grid-template-columns:1fr}
  .ahsim-jilid-form{grid-template-columns:1fr}
  .ahsim-jilid-form .full{grid-column:auto}
}


/* =========================================================
   V2.9 — DATA SANTRI DETAIL
   ========================================================= */
.ahsim-student-form-grid textarea{
  display:block;
  width:100%;
  margin-top:7px;
  padding:11px 12px;
  border:1px solid #ddd7cc;
  border-radius:10px;
  background:#fcfbf8;
  color:#29463d;
  font:inherit;
  line-height:1.5;
  outline:none;
  resize:vertical;
}
.ahsim-student-form-grid textarea:focus{
  border-color:#bca15d;
  box-shadow:0 0 0 4px rgba(199,163,90,.09);
  background:#fff;
}
.ahsim-square-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:32px!important;
  min-width:32px!important;
  height:32px!important;
  padding:0!important;
  margin:0 0 0 5px!important;
  border:1px solid #ddcfaa!important;
  border-radius:9px!important;
  background:#fffaf0!important;
  color:#84672c!important;
  text-decoration:none!important;
  line-height:1!important;
}
.ahsim-square-action:hover{
  border-color:#bda261!important;
  background:#fff6de!important;
}
.ahsim-student-table td.actions{
  white-space:nowrap;
}
.ahsim-student-name-link{
  color:#203f35!important;
  font-size:12px;
  font-weight:900;
  text-decoration:none!important;
}
.ahsim-student-name-link:hover{
  color:#9a752d!important;
}
.ahsim-student-row{
  cursor:default;
}
.ahsim-student-row:hover{
  background:#fffdf8;
}

/* Detail */
.ahsim-student-detail{
  display:grid;
  gap:18px;
}
.ahsim-detail-head{
  display:grid;
  grid-template-columns:150px minmax(0,1fr) auto;
  align-items:center;
  gap:24px;
  padding:24px;
  border:1px solid #dfd9ce;
  border-radius:20px;
  background:linear-gradient(135deg,#fff,#fbfaf5);
}
.ahsim-detail-photo{
  width:140px;
  height:182px;
  overflow:hidden;
  border:1px solid #d8d1c3;
  border-radius:16px;
  background:#f2f1ec;
}
.ahsim-detail-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.ahsim-photo-placeholder{
  display:grid;
  place-content:center;
  width:100%;
  height:100%;
  text-align:center;
  background:
    radial-gradient(circle at 50% 30%,rgba(198,161,88,.12),transparent 37%),
    linear-gradient(145deg,#f4f2eb,#ecefe9);
}
.ahsim-photo-placeholder span{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  margin:0 auto 9px;
  border-radius:50%;
  background:#0b503d;
  color:#fff;
  font-family:Georgia,serif;
  font-size:25px;
}
.ahsim-photo-placeholder small{
  color:#7d8781;
  font-size:9px;
  font-weight:800;
}
.ahsim-detail-identity h2{
  margin:5px 0 8px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:34px;
  line-height:1.05;
  font-weight:400;
  color:#07382d;
}
.ahsim-detail-identity p{
  margin:10px 0 0;
  color:#7d8781;
  font-size:10px;
}
.ahsim-detail-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.ahsim-detail-chips span{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border-radius:999px;
  background:#eef4ef;
  color:#36614f;
  font-size:8px;
  font-weight:900;
}
.ahsim-detail-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:3px;
}
.ahsim-detail-close{
  display:inline-flex;
  align-items:center;
  height:32px;
  padding:0 11px;
  margin-left:6px;
  border:1px solid #d9d5ca;
  border-radius:9px;
  color:#68756f!important;
  background:#fff;
  font-size:9px;
  font-weight:800;
}
.ahsim-detail-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.ahsim-detail-card{
  padding:21px 22px;
  border:1px solid #e1dbd0;
  border-radius:17px;
  background:#fff;
}
.ahsim-detail-card dl{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0 20px;
  margin:12px 0 0;
}
.ahsim-detail-card dl>div{
  padding:10px 0;
  border-top:1px solid #eee9df;
}
.ahsim-detail-card dl>div.wide{
  grid-column:1/-1;
}
.ahsim-detail-card dt{
  margin-bottom:4px;
  color:#8a928e;
  font-size:8px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.ahsim-detail-card dd{
  margin:0;
  color:#304a41;
  font-size:11px;
  line-height:1.55;
  font-weight:700;
}
.ahsim-detail-docs{
  grid-column:1/-1;
  background:linear-gradient(135deg,#fffaf0,#fff);
}
.ahsim-detail-docs h3{
  margin:7px 0 5px;
  font-family:Georgia,serif;
  font-size:20px;
  font-weight:400;
  color:#765d26;
}
.ahsim-detail-docs p{
  max-width:750px;
  margin:0;
  color:#7f8782;
  font-size:10px;
  line-height:1.6;
}

@media(max-width:900px){
  .ahsim-detail-head{
    grid-template-columns:130px minmax(0,1fr);
  }
  .ahsim-detail-photo{
    width:125px;
    height:164px;
  }
  .ahsim-detail-actions{
    grid-column:1/-1;
    justify-content:flex-start;
  }
}
@media(max-width:650px){
  .ahsim-detail-head{
    grid-template-columns:1fr;
    align-items:start;
  }
  .ahsim-detail-photo{
    width:132px;
    height:174px;
  }
  .ahsim-detail-identity h2{
    font-size:28px;
  }
  .ahsim-detail-grid{
    grid-template-columns:1fr;
  }
  .ahsim-detail-docs{
    grid-column:auto;
  }
  .ahsim-detail-card dl{
    grid-template-columns:1fr;
  }
  .ahsim-detail-card dl>div.wide{
    grid-column:auto;
  }
}

/* =========================================================
   V3.0 — PENGGUNA & AKSES
   ========================================================= */
.ahsim-access-intro{display:grid;grid-template-columns:minmax(0,1fr)230px;gap:18px;padding:23px 24px;border:1px solid #ded8cd;border-radius:19px;background:linear-gradient(135deg,#fff,#fbfaf5)}
.ahsim-access-intro h2{margin:5px 0 6px;font-family:"DM Serif Display",Georgia,serif;font-size:28px;font-weight:400;color:#07382d}
.ahsim-access-intro p{max-width:720px;margin:0;color:#78837d;font-size:10px;line-height:1.6}
.ahsim-access-lock{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:17px 19px;border:1px solid #dccb9d;border-radius:14px;background:#fff9ea}
.ahsim-access-lock span{margin-bottom:3px;color:#96752f;font-size:8px;font-weight:900;letter-spacing:.1em}
.ahsim-access-lock b{color:#654f21;font-size:10px}
.ahsim-access-card{border:1px solid #dfd9ce;border-radius:19px;background:#fff;overflow:hidden}
.ahsim-access-users{display:grid}
.ahsim-access-user{border-top:1px solid #eee9df}
.ahsim-access-user-summary{display:grid;grid-template-columns:44px minmax(0,1fr)60px;gap:13px;align-items:center;padding:15px 20px;color:inherit!important;text-decoration:none!important}
.ahsim-access-user-summary:hover{background:#fcfbf7}
.ahsim-user-avatar{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#0b503d;color:#fff;font-family:Georgia,serif;font-size:18px}
.ahsim-user-copy b,.ahsim-user-copy small,.ahsim-user-access-count strong,.ahsim-user-access-count small{display:block}
.ahsim-user-copy b{color:#2d493f;font-size:11px}.ahsim-user-copy small{margin-top:3px;color:#8a938e;font-size:8px}
.ahsim-user-access-count{text-align:center}.ahsim-user-access-count strong{font-family:Georgia,serif;font-size:18px;color:#8d6b2a}.ahsim-user-access-count small{font-size:7px;color:#929994;text-transform:uppercase}
.ahsim-access-form{padding:0 20px 18px}
.ahsim-access-modules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:16px;border:1px solid #eee8dd;border-radius:14px;background:#fbfaf7}
.ahsim-access-module{position:relative;display:flex;align-items:flex-start;gap:11px;min-height:72px;padding:12px;border:1px solid #e5dfd4;border-radius:12px;background:#fff;cursor:pointer}
.ahsim-access-module input{position:absolute;opacity:0}.ahsim-access-module .box{flex:0 0 19px;width:19px;height:19px;border:1px solid #cbc4b7;border-radius:5px;background:#f6f4ee}
.ahsim-access-module input:checked+.box{border-color:#0a503d;background:#0a503d;box-shadow:inset 0 0 0 4px #fff}
.ahsim-access-module b,.ahsim-access-module small{display:block}.ahsim-access-module b{color:#2d4a40;font-size:10px}.ahsim-access-module small{margin-top:4px;color:#838c87;font-size:8px;line-height:1.45}
.ahsim-access-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 2px 0}.ahsim-access-actions p{margin:0;color:#7f8883;font-size:8px}
.ahsim-access-actions button{height:40px;padding:0 15px;border:0;border-radius:9px;background:linear-gradient(135deg,#07382d,#0d624a);color:#fff;font-size:9px;font-weight:900;cursor:pointer}
@media(max-width:760px){.ahsim-access-intro,.ahsim-access-modules{grid-template-columns:1fr}.ahsim-access-actions{align-items:flex-start;flex-direction:column}}

/* V3.1 — Penyimpanan & foto */
.ahsim-storage-hero{display:grid;grid-template-columns:minmax(0,1fr)260px;gap:18px;align-items:center;padding:24px;border:1px solid #ddd7cb;border-radius:19px;background:linear-gradient(135deg,#fff,#fbfaf5)}.ahsim-storage-hero h2{margin:5px 0 7px;font-family:"DM Serif Display",Georgia,serif;font-size:29px;font-weight:400;color:#07382d}.ahsim-storage-hero p{margin:0;color:#78827d;font-size:10px;line-height:1.65}.ahsim-storage-status{padding:17px 18px;border-radius:14px;border:1px solid #ddd6ca;background:#f6f5f1}.ahsim-storage-status span,.ahsim-storage-status b{display:block}.ahsim-storage-status span{font-size:8px;font-weight:900}.ahsim-storage-status b{margin-top:5px;font-size:10px;overflow-wrap:anywhere}.ahsim-storage-status.online{border-color:#b9d6c9;background:#edf7f2;color:#15543f}.ahsim-storage-status.offline{border-color:#e1cf9e;background:#fff8e8;color:#805f20}
.ahsim-storage-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.ahsim-storage-card,.ahsim-storage-structure{border:1px solid #e0dbd0;border-radius:18px;background:#fff;overflow:hidden}.ahsim-storage-form{display:grid;gap:13px;padding:20px}.ahsim-storage-form label{color:#42584f;font-size:9px;font-weight:800}.ahsim-storage-form input{display:block;width:100%;height:42px;margin-top:6px;padding:0 11px;border:1px solid #dcd5c8;border-radius:10px;background:#fcfbf8}.ahsim-storage-form small{display:block;margin-top:5px;color:#8a928e;font-size:8px}.ahsim-storage-form button,.ahsim-drive-connect-button,.ahsim-storage-connect button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border:0;border-radius:10px;background:linear-gradient(135deg,#07382d,#0d624a);color:#fff!important;font-size:9px;font-weight:900;text-decoration:none!important}.ahsim-storage-connect button.secondary{border:1px solid #d8ccb0;background:#fff9ed;color:#7d6228!important}.ahsim-copy-uri{margin-top:6px;padding:11px 12px;border:1px dashed #ceb87e;border-radius:9px;background:#fffaf0;overflow:auto}.ahsim-copy-uri code{color:#715622;font-size:9px;white-space:nowrap}
.ahsim-storage-connect{display:flex;min-height:310px;flex-direction:column;align-items:center;justify-content:center;padding:25px;text-align:center}.ahsim-storage-connect h3{margin:10px 0 5px;font-family:Georgia,serif;font-size:21px;font-weight:400;color:#174337}.ahsim-storage-connect p{max-width:360px;margin:0 0 16px;color:#808985;font-size:9px;line-height:1.6}.ahsim-connected-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#0b503d;color:#fff;font-size:24px;font-weight:900}.ahsim-connected-mark.muted{background:#f0eee7;color:#98772f}.ahsim-folder-tree{display:grid;gap:9px;padding:20px;color:#315047;font-size:10px}.ahsim-folder-tree>b{padding:10px 12px;border-radius:10px;background:#0a503d;color:#fff}.ahsim-folder-tree>div{margin-left:18px;padding:10px 12px;border-left:2px solid #d3b66e;background:#fbfaf7}.ahsim-folder-tree span{display:block;margin:5px 0 0 18px;color:#7f8983;font-size:9px}
.ahsim-photo-uploader{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;align-items:center;padding:18px;border:1px solid #ded8cc;border-radius:16px;background:linear-gradient(135deg,#fbfaf6,#fff)}.ahsim-upload-photo-preview{width:118px;height:154px;overflow:hidden;border:1px solid #d5cdbc;border-radius:14px;background:#efeee9}.ahsim-upload-photo-preview img{width:100%;height:100%;object-fit:cover;object-position:center}.ahsim-upload-placeholder{display:grid;place-content:center;width:100%;height:100%;text-align:center;color:#8c7a4e;background:#f3f2ed}.ahsim-upload-placeholder span{font-size:29px}.ahsim-upload-placeholder small{font-size:8px;font-weight:900}.ahsim-photo-upload-copy h4{margin:5px 0;font-family:Georgia,serif;font-size:19px;font-weight:400;color:#174236}.ahsim-photo-upload-copy p{margin:0 0 11px;color:#7e8782;font-size:9px;line-height:1.55}.ahsim-photo-pick{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;min-height:38px;padding:0 13px!important;border:1px solid #ccb679!important;border-radius:9px;background:#fff9ea;color:#765a20!important;font-size:9px!important;font-weight:900!important;cursor:pointer}.ahsim-photo-pick input{display:none!important}.ahsim-upload-status{margin-top:9px;color:#818a85;font-size:8px;font-weight:700}.ahsim-upload-status.is-uploading{color:#8a6b2b}.ahsim-upload-status.is-success{color:#176147}.ahsim-upload-status.is-error{color:#a13b33}.ahsim-upload-progress{width:min(420px,100%);height:5px;margin-top:6px;overflow:hidden;border-radius:99px;background:#ece9e2}.ahsim-upload-progress i{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#0b503d,#c6a158);transition:width .18s ease}.ahsim-drive-warning{color:#8b6824!important;font-size:9px;font-weight:900}
@media(max-width:850px){.ahsim-storage-hero,.ahsim-storage-grid{grid-template-columns:1fr}}@media(max-width:600px){.ahsim-photo-uploader{grid-template-columns:1fr}}

/* V3.2 — Storage wrap + PDF documents */
.ahsim-storage-grid,.ahsim-storage-card,.ahsim-storage-form,.ahsim-copy-uri{min-width:0}
.ahsim-copy-uri{overflow:visible}
.ahsim-copy-uri code{display:block;max-width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:break-word;line-height:1.55}
.ahsim-storage-form input{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1050px){.ahsim-storage-grid{grid-template-columns:1fr!important}}

.ahsim-docs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.ahsim-docs-head h3{margin:7px 0 5px;font-family:Georgia,serif;font-size:20px;font-weight:400;color:#765d26}
.ahsim-docs-head p{margin:0;color:#7f8782;font-size:9px;line-height:1.55}
.ahsim-doc-upload-control{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ahsim-doc-upload-control select{height:38px;padding:0 10px;border:1px solid #d9d1c1;border-radius:9px;background:#fff;color:#42584f;font-size:9px}
.ahsim-doc-upload-button{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:0 12px!important;border:1px solid #cdb779!important;border-radius:9px;background:#fff9e9;color:#74591f!important;font-size:9px!important;font-weight:900!important;cursor:pointer}
.ahsim-doc-upload-button input{display:none!important}
.ahsim-doc-status{min-height:18px;margin-top:10px;color:#808984;font-size:8px;font-weight:800}
.ahsim-doc-status.is-uploading{color:#8b6a27}.ahsim-doc-status.is-success{color:#176147}.ahsim-doc-status.is-error{color:#a13b33}
.ahsim-doc-progress{width:min(430px,100%);height:5px;overflow:hidden;border-radius:999px;background:#ece9e2}
.ahsim-doc-progress i{display:block;width:0;height:100%;border-radius:999px;background:linear-gradient(90deg,#0b503d,#c6a158);transition:width .18s ease}
.ahsim-doc-list{display:grid;gap:8px;margin-top:15px}
.ahsim-doc-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:11px 12px;border:1px solid #e5dfd4;border-radius:12px;background:#fff}
.ahsim-doc-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:#f8eee9;color:#9b493b;font-size:8px;font-weight:900}
.ahsim-doc-copy{min-width:0}.ahsim-doc-copy b,.ahsim-doc-copy small{display:block}.ahsim-doc-copy b{color:#304b42;font-size:10px}.ahsim-doc-copy small{margin-top:4px;color:#858e89;font-size:8px;line-height:1.45;overflow-wrap:anywhere}
.ahsim-doc-actions{display:flex;align-items:center;gap:6px}.ahsim-doc-actions a,.ahsim-doc-actions button{min-height:32px;padding:0 9px;border:1px solid #d8d1c4;border-radius:8px;background:#fff;color:#50655c!important;font-size:8px;font-weight:900;text-decoration:none!important;cursor:pointer}.ahsim-doc-actions button{color:#9a4b43!important}
.ahsim-doc-empty{padding:20px;border:1px dashed #ddd4c2;border-radius:11px;background:#fbfaf7;color:#8b938e;text-align:center;font-size:9px}
@media(max-width:700px){.ahsim-docs-head{flex-direction:column}.ahsim-doc-upload-control{width:100%}.ahsim-doc-upload-control select{flex:1;min-width:180px}.ahsim-doc-row{grid-template-columns:42px minmax(0,1fr)}.ahsim-doc-actions{grid-column:1/-1;padding-left:54px}}

/* V3.2.1 — readiness status */
.ahsim-storage-repair-form{margin:0 0 9px}
.ahsim-storage-repair-form button{
  min-width:180px;
}
.ahsim-storage-connect form+form{
  margin-top:4px;
}

/* V3.2.4 — photo stream fallback */
.ahsim-photo-load-error span{
  background:#8b6a27!important;
}
.ahsim-photo-load-error small{
  max-width:100px;
  line-height:1.35;
}


/* =========================================================
   V3.2.8 — FOTO PADA DOKUMEN DETAIL SANTRI
   ========================================================= */
.ahsim-print-student-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) 118px;
  gap:24px;
  align-items:center;
  margin:0 0 16px;
  padding:15px 16px;
  border:1px solid #555;
}
.ahsim-print-student-summary-copy{
  min-width:0;
}
.ahsim-print-student-label{
  display:block;
  margin-bottom:5px;
  font-size:8px;
  font-weight:800;
  letter-spacing:.12em;
  color:#666;
}
.ahsim-print-student-summary h2{
  margin:0;
  font-family:Georgia,serif;
  font-size:22px;
  line-height:1.2;
  color:#153e32;
}
.ahsim-print-student-meta{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:9px;
}
.ahsim-print-student-meta span{
  display:inline-block;
  padding:4px 7px;
  border:1px solid #aaa;
  border-radius:999px;
  font-size:8px;
  color:#333;
}
.ahsim-print-student-photo{
  width:104px;
  height:139px;
  justify-self:end;
  border:1px solid #555;
  background:#f7f7f7;
  overflow:hidden;
}
.ahsim-print-student-photo img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.ahsim-print-photo-placeholder{
  display:flex;
  width:100%;
  height:100%;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:7px;
  color:#777;
}
.ahsim-print-photo-placeholder strong{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border:1px solid #aaa;
  border-radius:50%;
  font-family:Georgia,serif;
  font-size:20px;
}
.ahsim-print-photo-placeholder span{
  font-size:8px;
}
@media(max-width:600px){
  .ahsim-print-student-summary{
    grid-template-columns:minmax(0,1fr) 96px;
    gap:14px;
  }
  .ahsim-print-student-photo{
    width:88px;
    height:117px;
  }
}
@media print{
  .ahsim-print-student-summary{
    break-inside:avoid;
    page-break-inside:avoid;
  }
  .ahsim-print-student-photo{
    width:28mm;
    height:37mm;
  }
}

/* V3.3 — audit penyimpanan */
.ahsim-storage-audit{margin-top:18px;padding:20px;border:1px solid #ded7ca;border-radius:16px;background:#fff}.ahsim-v33-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ahsim-v33-head form{flex:0 0 auto}.ahsim-audit-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:16px}.ahsim-audit-summary>div{padding:13px;border:1px solid #e5dfd4;border-radius:12px;background:#faf9f6}.ahsim-audit-summary b{display:block;font-family:Georgia,serif;font-size:21px;color:#173f34}.ahsim-audit-summary span{display:block;margin-top:3px;font-size:8px;font-weight:800;color:#7e8983}.ahsim-audit-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.ahsim-audit-group{min-width:0;padding:13px;border:1px solid #e4ddd0;border-radius:12px;background:#fff}.ahsim-audit-group h4{margin:0 0 9px;font-family:Georgia,serif;font-size:15px;font-weight:400;color:#765d26}.ahsim-audit-list{display:grid;gap:7px}.ahsim-audit-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid #ece7de;border-radius:9px;background:#fbfbfa}.ahsim-audit-row b,.ahsim-audit-row small{display:block}.ahsim-audit-row b{font-size:9px;color:#395348}.ahsim-audit-row small{margin-top:3px;font-size:7px;color:#939a96}.ahsim-audit-badge{flex:0 0 auto;padding:4px 6px;border-radius:999px;font-size:7px;font-weight:900}.is-active .ahsim-audit-badge{background:#e9f5ef;color:#216147}.is-safe .ahsim-audit-badge{background:#fff3d9;color:#8a641f}.is-protected .ahsim-audit-badge{background:#f3f0ed;color:#6f7471}.ahsim-cleanup-form{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:13px;border:1px solid #ead8a7;border-radius:11px;background:#fffaf0}.ahsim-cleanup-form small{color:#887b5f;font-size:8px}.ahsim-cleanup-safe-note,.ahsim-audit-intro,.ahsim-audit-empty{margin-top:14px;padding:13px;border:1px dashed #ddd5c6;border-radius:10px;background:#faf9f6;color:#7d8782;font-size:9px;line-height:1.55}.ahsim-audit-time{margin:10px 0 0;color:#9a9f9c;font-size:7px}@media(max-width:900px){.ahsim-audit-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ahsim-audit-groups{grid-template-columns:1fr}}@media(max-width:600px){.ahsim-v33-head{flex-direction:column}.ahsim-audit-summary{grid-template-columns:1fr 1fr}}



/* =========================================================
   V3.4 — KHATAM AL-QUR'AN
   ========================================================= */
.ahsim-khatam-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 160px;
  gap:24px;
  align-items:center;
  padding:28px;
  border:1px solid #ded5c5;
  border-radius:18px;
  background:linear-gradient(135deg,#fffef9,#f5f1e6);
}
.ahsim-khatam-hero h2{
  margin:7px 0 8px;
  font-family:Georgia,serif;
  font-size:32px;
  line-height:1.15;
  font-weight:400;
  color:#123f32;
}
.ahsim-khatam-hero h2 em{color:#9b7b32;font-weight:400}
.ahsim-khatam-hero p{margin:0;max-width:660px;color:#748079;font-size:10px;line-height:1.7}
.ahsim-khatam-medallion{
  display:grid;
  place-items:center;
  align-content:center;
  width:132px;
  height:132px;
  justify-self:end;
  border:1px solid #cdbb84;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 8px #f5efdf;
}
.ahsim-khatam-medallion span{
  font-family:serif;
  font-size:38px;
  color:#154c3a;
}
.ahsim-khatam-medallion small{margin-top:4px;font-size:8px;letter-spacing:.14em;color:#8b7441;text-transform:uppercase}
.ahsim-khatam-empty{
  margin-top:16px;
  padding:42px 20px;
  border:1px dashed #d8cfbe;
  border-radius:16px;
  text-align:center;
  background:#fff;
}
.ahsim-khatam-empty>span{font-family:serif;font-size:46px;color:#b39958}
.ahsim-khatam-empty h3{margin:8px 0 4px;font-family:Georgia,serif;font-size:21px;color:#184738}
.ahsim-khatam-empty p{margin:0;color:#7a847f;font-size:9px}
.ahsim-khatam-student-picker{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-top:16px;
  padding:14px 16px;
  border:1px solid #e2dbcf;
  border-radius:13px;
  background:#fff;
}
.ahsim-khatam-student-picker form{flex:1;max-width:520px}
.ahsim-khatam-student-picker label{display:grid;gap:5px;color:#50645b;font-size:8px;font-weight:900}
.ahsim-khatam-student-picker select{
  width:100%;
  min-height:42px;
  padding:0 11px;
  border:1px solid #d8d0c2;
  border-radius:9px;
  background:#fff;
  color:#234a3c;
}
.ahsim-khatam-overview{
  display:grid;
  grid-template-columns:minmax(300px,1.7fr) .65fr .65fr minmax(250px,1.1fr);
  gap:10px;
  margin-top:12px;
}
.ahsim-khatam-progress-card,
.ahsim-khatam-stat,
.ahsim-khatam-next{
  min-width:0;
  padding:16px;
  border:1px solid #e1dacd;
  border-radius:14px;
  background:#fff;
}
.ahsim-khatam-progress-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.ahsim-khatam-progress-copy h3{margin:4px 0 7px;font-family:Georgia,serif;font-size:18px;color:#174437}
.ahsim-khatam-progress-copy strong{display:block;font-family:Georgia,serif;font-size:30px;font-weight:400;color:#9a7830}
.ahsim-khatam-progress-copy p{margin:4px 0 0;font-size:8px;color:#7f8884}
.ahsim-khatam-progress-ring{
  --progress:0;
  display:grid;
  place-items:center;
  flex:0 0 78px;
  width:78px;
  height:78px;
  border-radius:50%;
  background:conic-gradient(#174d3b calc(var(--progress)*1%),#eee9df 0);
  position:relative;
}
.ahsim-khatam-progress-ring:after{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:#fff;
}
.ahsim-khatam-progress-ring span{position:relative;z-index:1;font-size:11px;font-weight:900;color:#174437}
.ahsim-khatam-stat{display:flex;flex-direction:column;justify-content:center}
.ahsim-khatam-stat>span{font-size:8px;font-weight:900;color:#7b857f;text-transform:uppercase;letter-spacing:.05em}
.ahsim-khatam-stat>b{margin-top:8px;font-family:Georgia,serif;font-size:25px;font-weight:400;color:#184638}
.ahsim-khatam-stat>b small{font-family:inherit;font-size:12px;color:#949b97}
.ahsim-khatam-stat>b.is-khatam{font-size:17px;color:#9b7625}
.ahsim-khatam-next{display:flex;flex-direction:column;justify-content:center;background:#f7f3e8}
.ahsim-khatam-next h3{margin:6px 0 4px;font-family:Georgia,serif;font-size:17px;font-weight:400;color:#775f29}
.ahsim-khatam-next p{margin:0;color:#7b827e;font-size:8px;line-height:1.5}
.ahsim-khatam-workspace{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:12px;
  margin-top:12px;
}
.ahsim-khatam-entry-card,
.ahsim-khatam-history-card{
  min-width:0;
  padding:18px;
  border:1px solid #e0d9cd;
  border-radius:15px;
  background:#fff;
}
.ahsim-khatam-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.ahsim-khatam-form label{
  display:grid;
  gap:5px;
  min-width:0;
  font-size:8px;
  font-weight:900;
  color:#52655d;
}
.ahsim-khatam-form .span-2{grid-column:span 2}
.ahsim-khatam-form .span-4{grid-column:1/-1}
.ahsim-khatam-form input,
.ahsim-khatam-form select,
.ahsim-khatam-form textarea{
  width:100%;
  min-width:0;
  border:1px solid #d9d1c4;
  border-radius:9px;
  background:#fff;
  color:#304d43;
  font:inherit;
  font-weight:500;
}
.ahsim-khatam-form input,
.ahsim-khatam-form select{height:40px;padding:0 10px}
.ahsim-khatam-form textarea{padding:10px;resize:vertical}
.ahsim-khatam-submit{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding-top:2px;
}
.ahsim-khatam-submit span{font-size:8px;color:#89908c}
.ahsim-khatam-submit button{min-width:145px}
.ahsim-khatam-history-list{display:grid;gap:7px;margin-top:14px}
.ahsim-khatam-history-row{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  gap:11px;
  align-items:center;
  padding:10px;
  border:1px solid #ebe5dc;
  border-radius:11px;
  background:#fdfcf9;
}
.ahsim-khatam-history-date{
  display:grid;
  place-items:center;
  min-height:48px;
  border-right:1px solid #e5ded3;
}
.ahsim-khatam-history-date b{font-family:Georgia,serif;font-size:13px;font-weight:400;color:#7f652d}
.ahsim-khatam-history-date small{font-size:7px;color:#999f9b}
.ahsim-khatam-history-copy{min-width:0}
.ahsim-khatam-history-copy h4{margin:0;font-size:9px;color:#294e40}
.ahsim-khatam-history-copy p{margin:4px 0 0;font-size:8px;color:#7d8681;line-height:1.45;overflow-wrap:anywhere}
.ahsim-khatam-history-copy small{display:block;margin-top:4px;font-size:7px;color:#a0a49f}
.ahsim-khatam-history-actions{
  display:flex;
  align-items:center;
  gap:7px;
}
.ahsim-khatam-history-actions>span{
  padding:4px 7px;
  border-radius:999px;
  font-size:7px;
  font-weight:900;
}
.ahsim-khatam-history-actions>span.is-selesai{background:#e9f5ef;color:#236249}
.ahsim-khatam-history-actions>span.is-mengulang{background:#fff3dc;color:#8a6320}
.ahsim-khatam-history-actions form{margin:0}
.ahsim-khatam-history-actions button{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  padding:0;
  border:1px solid #e2d6d1;
  border-radius:8px;
  background:#fff;
  color:#a3584c;
  font-size:16px;
  cursor:pointer;
}
.ahsim-khatam-history-empty{
  padding:26px 14px;
  border:1px dashed #ddd4c6;
  border-radius:10px;
  text-align:center;
  color:#8a918d;
  font-size:9px;
}
.ahsim-khatam-print-heading{
  margin:18px 0 8px;
  font-family:Georgia,serif;
  font-size:16px;
  color:#153e32;
}
@media(max-width:1050px){
  .ahsim-khatam-overview{grid-template-columns:1fr 1fr}
  .ahsim-khatam-progress-card,.ahsim-khatam-next{grid-column:span 2}
  .ahsim-khatam-workspace{grid-template-columns:1fr}
}
@media(max-width:700px){
  .ahsim-khatam-hero{grid-template-columns:1fr;padding:20px}
  .ahsim-khatam-medallion{justify-self:start;width:100px;height:100px}
  .ahsim-khatam-hero h2{font-size:25px}
  .ahsim-khatam-student-picker{align-items:stretch;flex-direction:column}
  .ahsim-khatam-overview{grid-template-columns:1fr 1fr}
  .ahsim-khatam-progress-card,.ahsim-khatam-next{grid-column:1/-1}
  .ahsim-khatam-form{grid-template-columns:1fr 1fr}
  .ahsim-khatam-form .span-2,.ahsim-khatam-form .span-4{grid-column:1/-1}
  .ahsim-khatam-submit{align-items:stretch;flex-direction:column}
  .ahsim-khatam-submit button{width:100%}
  .ahsim-khatam-history-row{grid-template-columns:46px minmax(0,1fr)}
  .ahsim-khatam-history-actions{grid-column:1/-1;padding-left:57px}
}


/* =========================================================
   V3.4.1 — RAPID VISUAL POLISH (Khatam / Class Cards)
   ========================================================= */
.ahsim-class-toolbar,
.ahsim-class-manager,
.ahsim-khatam-hero,
.ahsim-khatam-student-picker,
.ahsim-khatam-progress-card,
.ahsim-khatam-stat,
.ahsim-khatam-next,
.ahsim-khatam-entry-card,
.ahsim-khatam-history-card{
  box-shadow:0 14px 34px rgba(9,51,41,.045);
}

.ahsim-class-toolbar{margin-top:18px;padding:22px 24px}
.ahsim-class-toolbar + .ahsim-class-manager{margin-top:12px}

.ahsim-class-manager-tools{
  padding:18px 22px;
  gap:16px;
}
.ahsim-class-list{
  gap:14px;
  padding:22px;
  max-height:520px;
}
.ahsim-class-person{
  gap:14px;
  min-height:84px;
  padding:15px 16px;
  border-radius:15px;
}
.ahsim-class-person .checkmark{
  width:22px;
  height:22px;
  flex-basis:22px;
  border-radius:7px;
}
.ahsim-class-person .person-copy b{
  font-size:13px;
  line-height:1.3;
}
.ahsim-class-person .person-copy small{
  margin-top:5px;
  font-size:9px;
  line-height:1.55;
}

.ahsim-khatam-hero{padding:34px 36px;margin-top:14px;gap:30px}
.ahsim-khatam-medallion{width:142px;height:142px}
.ahsim-khatam-student-picker{margin-top:18px;padding:16px 18px}

.ahsim-khatam-overview{
  gap:14px;
  margin-top:16px;
}
.ahsim-khatam-progress-card,
.ahsim-khatam-stat,
.ahsim-khatam-next{
  padding:20px;
  border-radius:16px;
}
.ahsim-khatam-progress-copy h3{font-size:20px}
.ahsim-khatam-progress-copy strong{font-size:34px}
.ahsim-khatam-stat b{font-size:28px}
.ahsim-khatam-next h3{font-size:18px;line-height:1.35}

.ahsim-khatam-workspace{
  gap:16px;
  margin-top:16px;
}
.ahsim-khatam-entry-card,
.ahsim-khatam-history-card{
  padding:22px;
  border-radius:16px;
}
.ahsim-khatam-form{gap:12px;margin-top:16px}
.ahsim-khatam-form input,
.ahsim-khatam-form select{height:42px}
.ahsim-khatam-history-list{gap:10px;margin-top:16px}
.ahsim-khatam-history-row{
  gap:14px;
  padding:13px 14px;
  border-radius:13px;
}
.ahsim-khatam-history-copy h4{font-size:10px}
.ahsim-khatam-history-copy p{font-size:8.5px;line-height:1.6}

@media(max-width:700px){
  .ahsim-class-list{grid-template-columns:1fr;padding:18px}
  .ahsim-class-person{min-height:78px;padding:14px 15px}
  .ahsim-khatam-hero{padding:24px}
  .ahsim-khatam-progress-card,
  .ahsim-khatam-stat,
  .ahsim-khatam-next,
  .ahsim-khatam-entry-card,
  .ahsim-khatam-history-card{padding:18px}
}


/* =========================================================
   V3.4.2 — TILAWAH AL-QUR'AN
   ========================================================= */
.tilawah-overview .ahsim-khatam-progress-card{grid-column:auto}
.tilawah-position{font-size:18px!important;line-height:1.35!important;color:#8b6b28!important}
.tilawah-stars{font-family:system-ui,sans-serif!important;font-size:18px!important;letter-spacing:1px;color:#bd913d!important;white-space:nowrap}
.ahsim-khatam-stat>small{display:block;margin-top:5px;color:#89918d;font-size:8px}
.tilawah-history-stars{margin-top:5px;color:#bd913d;font-size:11px;letter-spacing:1px}
.tilawah-history-stars small{display:inline!important;margin:0 0 0 4px!important;color:#858e89!important;font-size:7px!important;letter-spacing:0}
@media(max-width:1050px){.tilawah-overview .ahsim-khatam-progress-card{grid-column:span 2}}
@media(max-width:700px){.tilawah-overview .ahsim-khatam-progress-card{grid-column:1/-1}.tilawah-position{font-size:16px!important}}


/* =========================================================
   V3.4.3 — TILAWAH STUDENT BAR MATCH TAHFIDZ
   ========================================================= */
.ahsim-tilawah-studentbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:end;
  gap:18px;
  margin:24px 0 16px;
  padding:20px 22px;
  border:1px solid #e2ddd3;
  border-radius:16px;
  background:#fff;
  box-shadow:0 14px 34px rgba(9,51,41,.045);
}
.ahsim-tilawah-picker{min-width:0}
.ahsim-tilawah-searchselect{
  display:grid;
  grid-template-columns:220px 320px;
  gap:10px;
  margin-top:8px;
}
.ahsim-tilawah-searchselect input,
.ahsim-tilawah-searchselect select{
  width:100%;
  min-width:0;
  height:44px;
  border:1px solid #ddd7cc;
  border-radius:10px;
  background:#fcfbf8;
  padding:0 12px;
  color:#29463d;
  outline:0;
}
.ahsim-tilawah-current{
  min-width:240px;
  padding:14px 16px;
  border:1px solid #e3ded4;
  border-radius:14px;
  background:linear-gradient(135deg,#fffef9,#f6f2e7);
}
.ahsim-tilawah-current small,
.ahsim-tilawah-current b,
.ahsim-tilawah-current span{display:block}
.ahsim-tilawah-current small{
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  color:#8d7a49;
  text-transform:uppercase;
}
.ahsim-tilawah-current b{
  margin-top:6px;
  font-family:Georgia,serif;
  font-size:23px;
  line-height:1.25;
  font-weight:400;
  color:#07382d;
}
.ahsim-tilawah-current span{
  margin-top:5px;
  font-size:8px;
  line-height:1.6;
  color:#77817b;
}
.tilawah-student-name{
  font-size:28px !important;
  line-height:1.2 !important;
}
.tilawah-overview .ahsim-khatam-progress-copy p{
  margin-top:7px;
  font-size:9px;
}
@media(max-width:1100px){
  .ahsim-tilawah-studentbar{
    grid-template-columns:1fr;
    align-items:stretch;
  }
  .ahsim-tilawah-current{min-width:0}
}
@media(max-width:700px){
  .ahsim-tilawah-searchselect{grid-template-columns:1fr}
  .ahsim-tilawah-current b{font-size:20px}
  .tilawah-student-name{font-size:22px !important;}
}


/* =========================================================
   V3.4.4 — TOMBOL SIMPAN TILAWAH = TAHFIDZ
   ========================================================= */
.ahsim-khatam-submit{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:flex-start;
  gap:8px;
  padding-top:2px;
}
.ahsim-khatam-submit span{
  display:block;
  color:#89908c;
  font-size:8px;
  line-height:1.5;
}
.ahsim-khatam-submit button{
  width:100%;
  min-width:0;
  height:47px;
  margin-top:4px;
  padding:0 18px;
  border:0;
  border-radius:11px;
  background:linear-gradient(135deg,#07382d,#0d624a);
  color:#fff;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 12px 25px rgba(7,56,45,.14);
}
.ahsim-khatam-submit button:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(7,56,45,.18);
}
.ahsim-khatam-submit button:active{
  transform:translateY(0);
}


/* =========================================================
   V3.5 — JILID TAHFIDZ-STYLE
   ========================================================= */
.jl-hero{position:relative;display:flex;justify-content:space-between;align-items:center;gap:35px;min-height:235px;margin-top:8px;padding:34px 38px;border-radius:22px;overflow:hidden;color:#fff;background:linear-gradient(125deg,#07382d,#0b5b45)}
.jl-hero:before,.jl-hero:after{content:"";position:absolute;border:1px solid rgba(229,201,133,.18);transform:rotate(45deg)}
.jl-hero:before{width:250px;height:250px;right:80px;top:-120px}.jl-hero:after{width:170px;height:170px;right:-55px;bottom:-90px}
.jl-hero-copy{position:relative;z-index:2;max-width:720px}.jl-hero-copy>span,.jl-cardhead>span{font-size:9px;font-weight:900;letter-spacing:.15em;color:#dfc27c}
.jl-hero h2{margin:8px 0 10px;font-family:"DM Serif Display",Georgia,serif;font-size:38px;line-height:1.04;font-weight:400}.jl-hero h2 em{color:#e2c77f;font-style:normal}.jl-hero p{max-width:650px;margin:0;color:rgba(255,255,255,.68);font-size:12px}
.jl-ornament{position:relative;z-index:2;width:145px;height:145px;flex:0 0 145px;display:grid;place-content:center;text-align:center;border:1px solid rgba(226,199,127,.38);border-radius:50%;box-shadow:0 0 0 13px rgba(255,255,255,.025),0 0 0 14px rgba(226,199,127,.10)}
.jl-ornament div{font-family:serif;font-size:30px;color:#e7cc89}.jl-ornament small{margin-top:5px;color:rgba(255,255,255,.55);font-size:8px}
.jl-class-actions{display:flex;align-items:stretch;gap:12px;margin-top:14px}.jl-class-actions .ahsim-class-toolbar{flex:1;margin:0}.jl-settings-button{display:flex;align-items:center;justify-content:center;min-width:150px;padding:0 16px;border:1px solid #d8c792;border-radius:17px;background:#fffaf0;color:#856729!important;font-size:9px;font-weight:900}
.jl-soft-warning{margin-top:12px;padding:12px 15px;border:1px solid #ead9aa;border-radius:11px;background:#fff9e8;color:#765d24;font-size:9px;line-height:1.55}
.jl-studentbar{display:flex;justify-content:space-between;align-items:end;gap:18px;margin:20px 0 15px;padding:19px 20px;border:1px solid #e2ddd3;border-radius:16px;background:#fff}.jl-label{display:block;margin-bottom:7px;color:#8b6d32;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.jl-searchselect{display:grid;grid-template-columns:210px 280px;gap:8px}.jl-searchselect input,.jl-searchselect select,.jl-fields input,.jl-fields select,.jl-fields textarea{width:100%;border:1px solid #ddd7cc;border-radius:10px;background:#fcfbf8;padding:10px 11px;color:#29463d;outline:0}.jl-searchselect input,.jl-searchselect select,.jl-fields input,.jl-fields select{height:43px}
.jl-current{text-align:right;min-width:230px}.jl-current small,.jl-current b,.jl-current span{display:block}.jl-current small{font-size:9px;color:#8c948f}.jl-current b{margin-top:3px;font-family:"DM Serif Display",Georgia,serif;font-size:22px;line-height:1.2;color:#07382d;font-weight:400}.jl-current span{margin-top:4px;color:#98742e;font-size:9px;font-weight:900}
.jl-overview{display:grid;grid-template-columns:2fr .7fr .7fr;gap:12px}.jl-progress-card,.jl-stat{border:1px solid #e3ded4;border-radius:17px;background:#fff}.jl-progress-card{display:flex;align-items:center;gap:20px;padding:20px}.jl-ring{--p:0;position:relative;width:108px;height:108px;flex:0 0 108px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#c6a258 calc(var(--p)*1%),#e9e7df 0)}.jl-ring>div{width:86px;height:86px;border-radius:50%;display:grid;place-content:center;text-align:center;background:#fff}.jl-ring strong,.jl-ring small{display:block}.jl-ring strong{font-family:"DM Serif Display",Georgia,serif;color:#07382d;font-size:22px;font-weight:400}.jl-ring small{font-size:8px;color:#89918c}
.jl-progress-copy{flex:1}.jl-progress-copy>span{font-size:8px;color:#98742e;font-weight:900;letter-spacing:.12em}.jl-progress-copy h3{font-family:"DM Serif Display",Georgia,serif;font-size:29px;font-weight:400;color:#07382d;margin:5px 0}.jl-bar{height:7px;border-radius:99px;background:#eceae4;overflow:hidden}.jl-bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#0a503d,#c6a258)}.jl-progress-copy p{margin:7px 0 0;color:#7c8680;font-size:9px;line-height:1.5}
.jl-stat{display:flex;flex-direction:column;justify-content:center;padding:20px}.jl-stat>span{font-size:9px;color:#7e8882}.jl-stat strong{font-family:"DM Serif Display",Georgia,serif;font-size:30px;font-weight:400;color:#07382d;margin:4px 0}.jl-stat small{font-size:9px;color:#9a8a6d}.jl-stat .jl-stars{font-family:system-ui,sans-serif;font-size:17px;color:#c39b45;letter-spacing:1px;white-space:nowrap}
.jl-complete{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:16px 19px;border:1px solid #d9c997;border-radius:15px;background:#fffaf0}.jl-complete span{font-size:8px;color:#98742e;font-weight:900;letter-spacing:.12em}.jl-complete h3{margin:4px 0 0;font-family:"DM Serif Display",Georgia,serif;font-size:21px;font-weight:400;color:#07382d}.jl-complete-actions{display:flex;gap:8px;flex-wrap:wrap}.jl-complete-actions form{margin:0}.jl-complete-actions button{height:40px;padding:0 14px;border:0;border-radius:9px;background:#0a503d;color:#fff;font-size:9px;font-weight:900}.jl-complete-actions button.secondary{border:1px solid #dec991;background:#fff;color:#856729}
.jl-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px;margin-top:14px}.jl-formcard,.jl-history{border:1px solid #e3ded4;border-radius:18px;background:#fff;overflow:hidden}.jl-cardhead{padding:20px 22px 16px;border-bottom:1px solid #eee9df}.jl-cardhead h3{font-family:"DM Serif Display",Georgia,serif;font-size:25px;font-weight:400;color:#07382d;margin:4px 0}.jl-cardhead p{margin:0;color:#78827c;font-size:10px}.jl-formcard form{padding:20px 22px}.jl-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.jl-fields label{font-size:10px;font-weight:800;color:#40554c}.jl-fields .full{grid-column:1/-1}.jl-fields input,.jl-fields select,.jl-fields textarea{display:block;margin-top:6px;font:inherit}.jl-fields textarea{resize:vertical}.jl-submit{width:100%;height:47px;margin-top:17px;border:0;border-radius:11px;background:linear-gradient(135deg,#07382d,#0d624a);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 12px 25px rgba(7,56,45,.14)}
.jl-history{padding-bottom:10px}.jl-history-item{position:relative;display:grid;grid-template-columns:16px 1fr;gap:8px;padding:15px 20px;border-bottom:1px solid #eeeae2}.jl-dot{width:9px;height:9px;margin-top:4px;border-radius:50%;background:#c5a158;box-shadow:0 0 0 5px #f6f0df}.jl-history-item small,.jl-history-item b,.jl-history-item span,.jl-history-item em{display:block}.jl-history-item small{font-size:8px;color:#929a95}.jl-history-item b{margin:4px 0;color:#2a493f;font-size:11px}.jl-stars{color:#c39b45;font-size:11px;letter-spacing:1px}.jl-history-item em{font-style:normal;margin-top:3px;color:#6e7973;font-size:9px}.jl-history-item p{margin:6px 0;color:#77817b;font-size:9px;line-height:1.45}.jl-empty,.jl-emptyhero{padding:40px;text-align:center;color:#7b857f}.jl-emptyhero{margin-top:14px;border:1px dashed #d9d2c5;border-radius:18px;background:#faf9f5}.jl-emptyhero>span{font-family:serif;font-size:30px;color:#c5a158}.jl-emptyhero h3{font-family:"DM Serif Display",Georgia,serif;font-size:27px;font-weight:400;color:#07382d;margin:8px}.jl-emptyhero p{font-size:11px}
@media(max-width:950px){.jl-overview{grid-template-columns:1fr 1fr}.jl-progress-card{grid-column:1/-1}.jl-grid{grid-template-columns:1fr}.jl-searchselect{grid-template-columns:1fr 1fr}.jl-ornament{display:none}}
@media(max-width:650px){.jl-hero{padding:27px 22px;min-height:auto}.jl-hero h2{font-size:31px}.jl-class-actions,.jl-studentbar,.jl-complete{align-items:stretch;flex-direction:column}.jl-searchselect,.jl-overview,.jl-fields{grid-template-columns:1fr}.jl-progress-card{grid-column:auto;align-items:flex-start;flex-direction:column}.jl-current{text-align:left;min-width:0}.jl-fields .full{grid-column:auto}.jl-complete-actions{width:100%}.jl-complete-actions form,.jl-complete-actions button{width:100%}}


/* V3.5.1 — JILID PROGRESS VALIDATION / LIVE TRACKING */
.jl-progress-live{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:9px 0 7px}
.jl-progress-live b{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border-radius:999px;background:#eaf4ee;color:#245d48;font-size:9px}
.jl-progress-live span{color:#876a2e;font-size:9px;font-weight:800}
.jl-progress-copy p b{color:#244f40}
.jl-soft-warning a{display:inline-block;margin-left:8px;color:#846529;font-weight:900;text-decoration:underline;text-underline-offset:2px}


/* =========================================================
   V3.5.2 — JILID BASELINE / POSISI AWAL
   ========================================================= */
.ahsim-jilid-assignment-row{
  grid-template-columns:minmax(0,1fr) 150px 150px;
  gap:14px;
}
.ahsim-jilid-start-page{
  display:grid;
  gap:4px;
  min-width:0;
}
.ahsim-jilid-start-page>span{
  color:#63716b;
  font-size:8px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.ahsim-jilid-start-page input{
  width:100%;
  height:40px;
  padding:0 10px;
  border:1px solid #d9d2c5;
  border-radius:9px;
  background:#fff;
  color:#2f4c42;
}
.ahsim-jilid-start-page small{
  color:#929995;
  font-size:7px;
  line-height:1.3;
}
.jl-baseline-note{
  display:block;
  margin-top:5px;
  color:#9a8452;
  font-size:8px;
  font-weight:500;
  line-height:1.5;
}
@media(max-width:760px){
  .ahsim-jilid-assignment-row{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V3.5.3 — RAPiKAN PROFIL KANAN JILID
   ========================================================= */
.jl-current{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:210px;
  padding:14px 16px;
  border:1px solid #e6dfd2;
  border-radius:14px;
  background:linear-gradient(135deg,#fffef9,#f7f3e8);
  text-align:right;
}
.jl-current small,
.jl-current span{
  display:block;
}
.jl-current small{
  margin:0;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#8d7a49;
}
.jl-current .jl-current-level{
  margin-top:6px;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:20px;
  line-height:1.25;
  font-weight:400;
  color:#07382d;
}
@media(max-width:650px){
  .jl-current{
    min-width:0;
    text-align:left;
  }
}


/* =========================================================
   V3.5.4 — JILID BADGE KECIL DI KANAN
   ========================================================= */
.jl-studentbar{
  align-items:center;
}
.jl-current{
  min-width:auto;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  text-align:right;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.jl-current .jl-current-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid #e3d09c;
  background:linear-gradient(135deg,#fff9eb,#f6edd1);
  color:#7a5c1c;
  font-size:13px;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 8px 20px rgba(158,123,40,.08);
}
@media(max-width:650px){
  .jl-current{
    justify-content:flex-start;
    margin-top:4px;
  }
}


/* =========================================================
   V3.5.5 — REMOVE RIGHT PROFILE COMPLETELY
   ========================================================= */
.jl-studentbar{
  display:block !important;
  padding:20px 22px !important;
}
.jl-picker{
  width:100%;
}
.jl-searchselect{
  grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);
  width:min(720px,100%);
}
.jl-build-version{
  position:absolute;
  right:18px;
  bottom:12px;
  z-index:3;
  color:rgba(255,255,255,.48);
  font-size:7px;
  font-weight:800;
  letter-spacing:.08em;
}
@media(max-width:650px){
  .jl-searchselect{
    grid-template-columns:1fr;
    width:100%;
  }
}


/* V3.6.0 — Tilawah Berhalangan + Lintas Surah */
.tilawah-attendance-toggle{
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:58px;
  padding:10px 12px;
  border:1px solid #dfd5bf;
  border-radius:11px;
  background:#fffaf0;
  cursor:pointer;
}
.tilawah-toggle-copy{min-width:0}
.tilawah-toggle-copy b,.tilawah-toggle-copy small{display:block}
.tilawah-toggle-copy b{color:#755a22;font-size:10px}
.tilawah-toggle-copy small{margin-top:3px;color:#8d8675;font-size:8px;font-weight:500;line-height:1.45}
.tilawah-switch{position:relative;flex:0 0 42px;width:42px;height:24px}
.tilawah-switch input{position:absolute!important;opacity:0;pointer-events:none}
.tilawah-switch i{position:absolute;inset:0;border-radius:999px;background:#ddd8cf;transition:.18s ease}
.tilawah-switch i:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:.18s ease}
.tilawah-switch input:checked+i{background:#a9802b}
.tilawah-switch input:checked+i:after{transform:translateX(18px)}
.tilawah-mode-note{padding:10px 12px;border:1px dashed #ded6c9;border-radius:9px;background:#faf9f5;color:#7f8983;font-size:8px;line-height:1.55}
.ahsim-khatam-form.is-berhalangan [data-tilawah-reading-field]{opacity:.52;cursor:not-allowed;background:#f2f1ed}
.ahsim-khatam-form.is-berhalangan .tilawah-mode-note{border-color:#e2c986;background:#fff8e7;color:#7a622d}
.ahsim-khatam-history-actions>span.is-berhalangan{background:#f5ead0;color:#876523}
@media(max-width:700px){.tilawah-attendance-toggle{grid-column:1/-1!important}}


/* =========================================================
   V3.6.1 — PROFESSIONAL TILAWAH POLISH
   ========================================================= */

/* Student selector: no redundant profile card */
.ahsim-tilawah-studentbar{
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:end;
  gap:16px;
}
.ahsim-tilawah-picker{
  min-width:0;
}
.ahsim-tilawah-searchselect{
  width:min(660px,100%);
}

/* Icon-only print action */
.ahsim-tilawah-print{
  display:inline-grid;
  place-items:center;
  width:43px;
  height:43px;
  flex:0 0 43px;
  border:1px solid #dccfa9;
  border-radius:11px;
  background:#fffaf0;
  color:#826529;
  text-decoration:none;
  transition:.16s ease;
}
.ahsim-tilawah-print svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ahsim-tilawah-print:hover{
  border-color:#bfa45d;
  background:#fff6dc;
  transform:translateY(-1px);
}

/* Form gets priority; history remains readable but narrower */
.ahsim-khatam-workspace{
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr) !important;
  gap:16px !important;
  align-items:start;
}
.ahsim-khatam-entry-card,
.ahsim-khatam-history-card{
  padding:22px;
}
.ahsim-khatam-entry-card .ahsim-card-title,
.ahsim-khatam-history-card .ahsim-card-title{
  padding-left:0;
  padding-right:0;
  padding-top:0;
}

/* The four summary cards stay clear and consistent */
.tilawah-overview{
  gap:14px !important;
}
.tilawah-overview .ahsim-khatam-progress-card,
.tilawah-overview .ahsim-khatam-stat,
.tilawah-overview .ahsim-khatam-next{
  min-height:132px;
}

/* Arabic Al-Kitabah symbol gets enough room */
.ahsim-btq-grid .icon.arabic{
  font-size:16px;
  line-height:1.1;
  direction:rtl;
}

@media(max-width:1050px){
  .ahsim-khatam-workspace{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:700px){
  .ahsim-tilawah-studentbar{
    grid-template-columns:1fr auto !important;
    align-items:end;
  }
  .ahsim-tilawah-searchselect{
    width:100%;
  }
}

/* =========================================================
   V3.7.0 — KHATAMAN MANDIRI
   ========================================================= */
.ahsim-quran-paths{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.km-admin-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:18px 0;padding:27px 29px;border-radius:20px;background:linear-gradient(135deg,#07382d,#0c5543);color:#fff;overflow:hidden;position:relative}.km-admin-hero h2{margin:5px 0 8px;font-family:"DM Serif Display",Georgia,serif;font-size:31px;font-weight:400;line-height:1.06}.km-admin-hero h2 em{color:#d8c38f;font-style:normal}.km-admin-hero p{max-width:680px;margin:0;color:rgba(255,255,255,.67);font-size:10px;line-height:1.6}.km-open-public{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:11px 14px;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:rgba(255,255,255,.08);color:#fff;font-size:9px;font-weight:900;text-decoration:none}.km-open-public span{font-size:14px;color:#dbc484}
.km-admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:15px 0;padding:18px 20px;border:1px solid #e0dbd1;border-radius:16px;background:#fff}.km-admin-toolbar h3{margin:3px 0;font-family:Georgia,serif;font-size:21px;font-weight:400;color:#07382d}.km-admin-toolbar p{margin:0;color:#89918d;font-size:9px}.km-admin-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:15px 0}.km-admin-stats>div{padding:17px 18px;border:1px solid #e1dcd2;border-radius:15px;background:#fff}.km-admin-stats span,.km-admin-stats b,.km-admin-stats small{display:block}.km-admin-stats span{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:#98742e}.km-admin-stats b{margin-top:4px;font-family:Georgia,serif;font-size:28px;font-weight:400;color:#07382d}.km-admin-stats small{margin-top:2px;color:#8b938e;font-size:8px}.km-admin-success{margin:13px 0;padding:11px 13px;border:1px solid #bfdbc8;border-radius:11px;background:#f0faf3;color:#315e42;font-size:9px}
.km-review-section,.km-progress-section{margin-top:15px;border:1px solid #e1dcd2;border-radius:18px;background:#fff;overflow:hidden}.km-review-section>.ahsim-card-title,.km-progress-section>.ahsim-card-title{padding:20px 22px 16px;border-bottom:1px solid #eee9df}.km-review-list{display:grid;gap:0}.km-review-item{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:13px;padding:17px 20px;border-bottom:1px solid #eee9df}.km-review-item:last-child{border-bottom:0}.km-review-main small{color:#9b8350;font-size:8px;font-weight:800}.km-review-main h4{margin:3px 0 4px;font-family:Georgia,serif;font-size:20px;font-weight:400;color:#07382d}.km-review-main p{margin:0;color:#7b8580;font-size:9px}.km-review-status{align-self:start}.km-review-status span{display:inline-flex;padding:6px 9px;border-radius:999px;background:#f1eee7;color:#736e62;font-size:8px;font-weight:900}.status-ready .km-review-status span{background:#eef8f2;color:#2d6946}.status-verified .km-review-status span,.status-deleted .km-review-status span{background:#eef8f2;color:#2d6946}.km-review-video{grid-column:1/-1}.km-review-video video{display:block;width:min(620px,100%);max-height:350px;border-radius:12px;background:#111}.km-verify-form{grid-column:1/-1}.km-verify-form button{height:43px;padding:0 16px;border:0;border-radius:10px;background:linear-gradient(135deg,#07382d,#0d624a);color:#fff;font-size:9px;font-weight:900;cursor:pointer}.km-verified-mark{grid-column:1/-1;color:#39704d;font-size:9px;font-weight:900}.km-processing-copy{grid-column:1/-1;padding:9px 11px;border-radius:9px;background:#faf8f2;color:#858b86;font-size:8px}.km-admin-empty{margin:20px;color:#7e8781;font-size:9px}.km-admin-empty b{display:block;margin-bottom:4px;color:#07382d;font-size:11px}
.km-progress-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}.km-progress-list>div{padding:15px 20px;border-bottom:1px solid #eee9df}.km-progress-list>div:nth-child(odd){border-right:1px solid #eee9df}.km-progress-list b,.km-progress-list span,.km-progress-list small{display:block}.km-progress-list b{font-family:Georgia,serif;font-size:16px;font-weight:400;color:#07382d}.km-progress-list span{margin-top:4px;color:#746f63;font-size:9px}.km-progress-list small{margin-top:3px;color:#9a7b37;font-size:8px;font-weight:800}
@media(max-width:1050px){.ahsim-quran-paths{grid-template-columns:1fr}.km-admin-stats{grid-template-columns:1fr 1fr}.km-admin-hero{align-items:flex-start;flex-direction:column}.km-progress-list{grid-template-columns:1fr}.km-progress-list>div:nth-child(odd){border-right:0}}
@media(max-width:650px){.km-admin-toolbar{align-items:stretch;flex-direction:column}.km-admin-stats{grid-template-columns:1fr 1fr}.km-review-item{grid-template-columns:1fr}.km-review-status{grid-row:auto}.km-review-video,.km-verify-form,.km-verified-mark,.km-processing-copy{grid-column:auto}}
.km-admin-toolbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.km-baseline-panel{margin:15px 0;border:1px solid #e1dcd2;border-radius:18px;background:#fff;overflow:hidden}.km-baseline-panel>.ahsim-card-title{padding:20px 22px 16px;border-bottom:1px solid #eee9df}.km-baseline-form{padding:6px 20px 20px}.km-baseline-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(230px,1.25fr) 100px 110px;align-items:end;gap:10px;padding:13px 0;border-bottom:1px solid #eee9df}.km-baseline-row>b{align-self:center;font-family:Georgia,serif;font-size:16px;font-weight:400;color:#07382d}.km-baseline-row label{display:grid;gap:5px;color:#718078;font-size:8px;font-weight:900}.km-baseline-row input,.km-baseline-row select{width:100%;height:40px;padding:0 9px;border:1px solid #dad4c9;border-radius:9px;background:#fcfbf8;color:#29463d}.km-baseline-form>button{width:100%;height:44px;margin-top:15px;border:0;border-radius:10px;background:linear-gradient(135deg,#07382d,#0d624a);color:#fff;font-size:9px;font-weight:900;cursor:pointer}
@media(max-width:850px){.km-baseline-row{grid-template-columns:1fr 1fr 90px}.km-baseline-row>b{grid-column:1/-1}.km-admin-toolbar-actions{justify-content:flex-start}}
@media(max-width:560px){.km-baseline-row{grid-template-columns:1fr 90px}.km-baseline-row>b{grid-column:1/-1}.km-baseline-row label:nth-of-type(1){grid-column:1/-1}}


/* V3.7.3 — Proof Mode video review */
.km-review-video video{
  width:min(280px,100%)!important;
  max-height:158px!important;
  border-radius:9px;
}


/* =========================================================
   V3.7.4 — KODE AKSES + VERIFIKASI SEMUA
   ========================================================= */
.km-access-code-panel{
  margin-top:15px;
  border:1px solid #e1dcd2;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.km-access-code-panel>.ahsim-card-title{
  padding:20px 22px 16px;
  border-bottom:1px solid #eee9df;
}
.km-access-code-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:16px 20px 20px;
}
.km-access-code-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
  padding:12px 14px;
  border:1px solid #e6e0d5;
  border-radius:12px;
  background:#fbfaf7;
}
.km-access-code-item b{
  min-width:0;
  overflow:hidden;
  color:#29463d;
  font-family:Georgia,serif;
  font-size:14px;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.km-access-code-item code{
  flex:0 0 auto;
  padding:6px 8px;
  border:1px solid #ddcfaa;
  border-radius:8px;
  background:#fff8e7;
  color:#72591f;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
}
.km-review-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}
.km-verify-all-form{
  flex:0 0 auto;
}
.km-verify-all-form button{
  height:41px;
  padding:0 15px;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg,#07382d,#0d624a);
  color:#fff;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(7,56,45,.12);
}
@media(max-width:900px){
  .km-access-code-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:650px){
  .km-access-code-grid{
    grid-template-columns:1fr;
  }
  .km-review-heading{
    align-items:stretch;
    flex-direction:column;
  }
  .km-verify-all-form,
  .km-verify-all-form button{
    width:100%;
  }
}


/* =========================================================
   V3.7.6 — PORTRAIT VIDEO + SIZE + ADMIN UNLOCK
   ========================================================= */
.km-review-video{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}
.km-review-video video{
  width:160px!important;
  height:284px!important;
  max-height:none!important;
  aspect-ratio:9/16;
  object-fit:cover;
  border-radius:10px;
  background:#111;
}
.km-video-meta{
  display:flex;
  gap:10px;
  color:#8a918d;
  font-size:8px;
  font-weight:700;
}
.km-video-meta span+span:before{
  content:"•";
  margin-right:10px;
  color:#c0b69d;
}

.km-lock-control-panel{
  margin-top:15px;
  border:1px solid #e1dcd2;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.km-lock-control-panel>.ahsim-card-title{
  padding:20px 22px 16px;
  border-bottom:1px solid #eee9df;
}
.km-lock-control-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:16px 20px 20px;
}
.km-lock-control-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px;
  border:1px solid #e6e0d5;
  border-radius:12px;
  background:#fbfaf7;
}
.km-lock-control-item>div{min-width:0}
.km-lock-control-item b,
.km-lock-control-item small{display:block}
.km-lock-control-item b{
  overflow:hidden;
  color:#29463d;
  font-family:Georgia,serif;
  font-size:14px;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.km-lock-control-item small{
  margin-top:3px;
  color:#7f8b85;
  font-size:8px;
}
.km-lock-control-item form{flex:0 0 auto}
.km-lock-control-item button{
  height:34px;
  padding:0 10px;
  border:1px solid #d6c694;
  border-radius:9px;
  background:#fff8e8;
  color:#735a22;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:800px){
  .km-lock-control-list{grid-template-columns:1fr}
}


/* =========================================================
   V3.7.7 — ACCORDION ADMIN + PEMBARUAN KODE
   ========================================================= */
.km-admin-accordion{
  margin-top:15px;
  border:1px solid #e1dcd2;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}
.km-admin-accordion>summary{
  display:flex;
  align-items:center;
  gap:13px;
  padding:17px 20px;
  cursor:pointer;
  list-style:none;
  user-select:none;
}
.km-admin-accordion>summary::-webkit-details-marker{
  display:none;
}
.km-admin-accordion>summary:hover{
  background:#fcfbf8;
}
.km-admin-accordion>summary>div{
  min-width:0;
}
.km-admin-accordion>summary .ahsim-kicker{
  display:block;
  margin-bottom:3px;
  font-size:7px;
}
.km-admin-accordion>summary b{
  display:block;
  color:#07382d;
  font-family:Georgia,serif;
  font-size:18px;
  font-weight:400;
}
.km-admin-accordion>summary small{
  display:block;
  margin-top:3px;
  color:#8b948f;
  font-size:8px;
}
.km-accordion-icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  flex:0 0 28px;
  border:1px solid #ded7c9;
  border-radius:50%;
  color:#8a6c2f;
  font-size:15px;
  transition:transform .18s ease;
}
.km-admin-accordion[open] .km-accordion-icon{
  transform:rotate(180deg);
}
.km-accordion-body{
  border-top:1px solid #eee9df;
}
.km-accordion-intro{
  margin:0;
  padding:15px 20px 0;
  color:#7e8983;
  font-size:9px;
  line-height:1.6;
}
.km-accordion-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:15px 20px 0;
}
.km-accordion-toolbar p{
  margin:0;
  color:#7e8983;
  font-size:9px;
  line-height:1.55;
}
.km-code-update-all{
  height:36px;
  padding:0 12px;
  border:1px solid #d1bf86;
  border-radius:9px;
  background:#fff8e5;
  color:#71571d;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.km-access-code-item{
  gap:8px!important;
}
.km-code-person{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-width:0;
  flex:1;
}
.km-code-person b{
  min-width:0;
}
.km-code-update-one{
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  padding:0;
  border:1px solid #d8c998;
  border-radius:8px;
  background:#fffaf0;
  color:#806327;
  font-size:14px;
  font-weight:900;
  cursor:pointer;
}
.km-code-update-one:hover,
.km-code-update-all:hover{
  border-color:#ad9047;
  background:#fff3cf;
}

/* Old section borders are now owned by <details>. */
details.km-access-code-panel,
details.km-lock-control-panel{
  overflow:hidden;
}
details.km-access-code-panel>.km-accordion-body .km-access-code-grid{
  padding-top:14px;
}
details.km-lock-control-panel>.km-accordion-body .km-lock-control-list{
  padding-top:14px;
}
@media(max-width:650px){
  .km-accordion-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .km-accordion-toolbar form,
  .km-code-update-all{
    width:100%;
  }
}


/* =========================================================
   V3.7.8 — PERMISSION WORKFLOW + TEACHER NOTE
   ========================================================= */
.km-permission-list{display:grid;gap:10px;padding:16px 20px 20px}.km-permission-item{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:16px;align-items:start;padding:14px;border:1px solid #e4ded3;border-radius:13px;background:#fbfaf7}.km-permission-main small{color:#9a7a37;font-size:8px;font-weight:900}.km-permission-main h4{margin:4px 0;color:#29463d;font-family:Georgia,serif;font-size:17px;font-weight:400}.km-permission-main p{margin:3px 0;color:#67746e;font-size:9px;line-height:1.5}.km-permission-main p b{color:#40584e}.km-permission-targets{padding-top:5px;border-top:1px dashed #e4ded3}.km-permission-decision textarea,.km-verify-form textarea{width:100%;padding:9px 10px;border:1px solid #ddd6ca;border-radius:9px;background:#fff;color:#374b43;font:inherit;font-size:9px;resize:vertical}.km-permission-decision>div{display:flex;justify-content:flex-end;gap:7px;margin-top:7px}.km-permission-decision button{height:34px;padding:0 12px;border:0;border-radius:8px;color:#fff;font-size:8px;font-weight:900;cursor:pointer}.km-permission-decision .is-reject{background:#8d4b3c}.km-permission-decision .is-approve{background:#0d624a}.km-permission-result{justify-self:end;padding:7px 10px;border-radius:999px;background:#edf6f1;color:#286149;font-size:8px;font-weight:900}.km-permission-item.status-rejected .km-permission-result{background:#f8eeeb;color:#895042}.km-verify-form{display:grid;gap:7px}.km-verify-form button{margin-top:0!important}
@media(max-width:800px){.km-permission-item{grid-template-columns:1fr}.km-permission-result{justify-self:start}}


/* =========================================================
   V3.7.9 — EMAIL REVIEW + COMPACT PORTAL ACCORDIONS
   ========================================================= */
.km-portal-fold{
  margin-top:15px;
}
.km-portal-fold>.km-accordion-body{
  padding-bottom:0;
}
.km-fold-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 18px;
  border-bottom:1px solid #eee9df;
  background:#fcfbf8;
}
.km-fold-toolbar>span{
  color:#738079;
  font-size:9px;
}
.km-portal-fold .km-review-list,
.km-portal-fold .km-progress-list{
  margin-top:0;
}

/* Dedicated single-setoran page opened from teacher email */
.km-review-page-top{
  margin-bottom:14px;
}
.km-review-page-top a{
  display:inline-flex;
  align-items:center;
  color:#6f795f;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}
.km-review-page-top a:hover{
  color:#07382d;
}
.km-review-page-empty{
  margin-top:10px;
}
.km-single-review{
  overflow:hidden;
  border:1px solid #e2ddd2;
  border-radius:18px;
  background:#fff;
}
.km-single-review-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px;
  border-bottom:1px solid #eee9df;
}
.km-single-review-head h2{
  margin:5px 0 4px;
  color:#07382d;
  font-family:Georgia,serif;
  font-size:25px;
  font-weight:400;
}
.km-single-review-head p{
  margin:0;
  color:#78847e;
  font-size:9px;
  line-height:1.6;
}
.km-single-review-status{
  flex:0 0 auto;
  padding:7px 9px;
  border:1px solid #d9cfb5;
  border-radius:999px;
  background:#fffaf0;
  color:#77602c;
  font-size:8px;
  font-weight:900;
}
.km-single-review-workspace{
  display:grid;
  grid-template-columns:190px minmax(0,1fr);
  gap:22px;
  align-items:start;
  padding:22px;
}
.km-single-review-workspace .km-review-video video{
  width:180px!important;
  height:320px!important;
}
.km-single-verify-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.km-single-verify-form label>span{
  display:block;
  margin-bottom:7px;
  color:#29463d;
  font-size:9px;
  font-weight:900;
}
.km-single-verify-form label>span small{
  color:#949c98;
  font-weight:600;
}
.km-single-verify-form textarea{
  width:100%;
  min-height:150px;
  resize:vertical;
}
.km-single-verify-form button{
  width:100%;
  min-height:44px;
}
.km-single-review-finished,
.km-single-processing{
  margin:20px 22px 22px;
}
.km-single-review-finished{
  padding:18px;
  border:1px solid #d9e4dd;
  border-radius:13px;
  background:#f7fbf8;
}
.km-single-review-finished>b{
  color:#26654e;
  font-size:11px;
}
.km-single-review-finished>div{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #e1ebe4;
}
.km-single-review-finished span{
  color:#7d8983;
  font-size:8px;
  font-weight:900;
}
.km-single-review-finished p{
  margin:5px 0 0;
  color:#53635c;
  font-size:9px;
  line-height:1.65;
}
@media(max-width:700px){
  .km-fold-toolbar{
    align-items:stretch;
    flex-direction:column;
  }
  .km-fold-toolbar form,
  .km-fold-toolbar button{
    width:100%;
  }
  .km-single-review-head{
    flex-direction:column;
  }
  .km-single-review-workspace{
    grid-template-columns:1fr;
  }
  .km-single-review-workspace .km-review-video{
    align-items:center;
  }
}


/* =========================================================
   V3.7.11 — EMAIL NOTIFIKASI KHUSUS
   ========================================================= */
.km-notification-email-form{
  padding:17px 20px 20px;
}
.km-notification-email-copy b{
  display:block;
  color:#29463d;
  font-family:Georgia,serif;
  font-size:15px;
  font-weight:400;
}
.km-notification-email-copy p{
  max-width:720px;
  margin:5px 0 0;
  color:#7e8983;
  font-size:9px;
  line-height:1.6;
}
.km-notification-email-control{
  display:grid;
  grid-template-columns:minmax(260px,520px) auto;
  gap:10px;
  align-items:center;
  margin-top:14px;
}
.km-notification-email-control input{
  width:100%;
  height:42px;
  padding:0 12px;
  border:1px solid #ddd7cc;
  border-radius:10px;
  background:#fcfbf8;
  color:#173e33;
  font-size:11px;
  outline:0;
}
.km-notification-email-control input:focus{
  border-color:#a98d49;
  box-shadow:0 0 0 3px rgba(169,141,73,.09);
}
.km-notification-email-control button{
  height:42px;
  padding:0 14px;
  border:0;
  border-radius:10px;
  background:linear-gradient(135deg,#07382d,#0d624a);
  color:#fff;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
}
.km-notification-email-help{
  margin:9px 0 0;
  color:#979f9b;
  font-size:8px;
  line-height:1.55;
}
.km-notification-email-error{
  margin-top:10px;
  padding:9px 11px;
  border:1px solid #eccac2;
  border-radius:9px;
  background:#fff7f5;
  color:#9a4c3e;
  font-size:8px;
  font-weight:800;
}
@media(max-width:650px){
  .km-notification-email-control{
    grid-template-columns:1fr;
  }
  .km-notification-email-control button{
    width:100%;
  }
}


/* =========================================================
   V3.7.12 — URUTAN OPERASIONAL KHATAMAN
   Hero → Ringkasan Hari Ini → Rekaman → Posisi → Pengaturan
   ========================================================= */
.km-admin-hero + .km-admin-stats{
  margin-top:16px;
}
.km-admin-stats + .km-review-section{
  margin-top:15px;
}
.km-review-section + .km-progress-section{
  margin-top:12px;
}
.km-progress-section + .km-admin-success,
.km-progress-section + .km-admin-toolbar{
  margin-top:15px;
}


/* =========================================================
   V3.7.13 — PROGRESS AYAT KHATAMAN MANDIRI
   ========================================================= */
.km-progress-list>.km-progress-item{
  padding:17px 20px 16px;
}
.km-progress-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.km-progress-head>div{
  min-width:0;
}
.km-progress-head>b,
.km-progress-head span{
  display:block;
}
.km-progress-head strong{
  flex:0 0 auto;
  padding-top:1px;
  color:#9a7b37;
  font-family:Georgia,serif;
  font-size:16px;
  font-weight:400;
}
.km-ayah-progress{
  position:relative;
  width:100%;
  height:7px;
  margin-top:12px;
  overflow:hidden;
  border-radius:999px;
  background:#edf0ec;
}
.km-ayah-progress>i{
  display:block;
  width:0;
  height:100%;
  min-width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,#0b4a3a,#b39245);
}
.km-progress-numbers{
  display:flex;
  align-items:center;
  gap:8px 14px;
  flex-wrap:wrap;
  margin-top:8px;
}
.km-progress-numbers span{
  margin:0!important;
  color:#818a85!important;
  font-size:8px!important;
  font-weight:600!important;
}
.km-progress-numbers span b{
  display:inline!important;
  color:#344e45!important;
  font-family:inherit!important;
  font-size:8px!important;
  font-weight:900!important;
}
.km-progress-numbers span:last-child{
  color:#9a7b37!important;
  font-weight:800!important;
}
@media(max-width:560px){
  .km-progress-head strong{
    font-size:14px;
  }
  .km-progress-numbers{
    gap:5px 10px;
  }
}


/* =========================================================
   V3.7.14 — STATUS HARIAN + REKAP BULANAN + RIWAYAT CATATAN
   ========================================================= */

/* Ringkasan harian: 5 kartu pada layar lebar. */
.km-admin-stats{
  grid-template-columns:repeat(5,minmax(0,1fr));
}
.km-stat-missing{
  position:relative;
  min-width:0;
  border:1px solid #e1dcd2;
  border-radius:15px;
  background:#fff;
}
.km-stat-missing>summary{
  display:block;
  padding:17px 18px;
  cursor:pointer;
  list-style:none;
}
.km-stat-missing>summary::-webkit-details-marker{display:none}
.km-stat-missing>summary span,
.km-stat-missing>summary b,
.km-stat-missing>summary small{display:block}
.km-stat-missing>summary span{
  color:#98742e;
  font-size:8px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.km-stat-missing>summary b{
  margin-top:4px;
  color:#07382d;
  font-family:Georgia,serif;
  font-size:28px;
  font-weight:400;
}
.km-stat-missing>summary small{
  margin-top:2px;
  color:#8b938e;
  font-size:8px;
}
.km-stat-missing[open]{
  grid-column:1/-1;
}
.km-stat-missing[open]>summary{
  border-bottom:1px solid #eee9df;
}
.km-today-status-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.km-today-status-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 15px;
  border-bottom:1px solid #f0ece4;
}
.km-today-status-row:nth-child(odd){
  border-right:1px solid #f0ece4;
}
.km-today-status-row>b{
  min-width:0;
  overflow:hidden;
  color:#29463d;
  font-family:Georgia,serif;
  font-size:13px;
  font-weight:400;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.km-today-status-row>span{
  flex:0 0 auto;
  padding:5px 7px;
  border-radius:999px;
  background:#f2f1ed;
  color:#6f7772;
  font-size:7px;
  font-weight:900;
}
.km-today-status-row>span.status-missing,
.km-today-status-row>span.status-permission_rejected{
  background:#fff1ed;
  color:#a35243;
}
.km-today-status-row>span.status-permission_pending{
  background:#fff7e2;
  color:#8a6925;
}
.km-today-status-row>span.status-submitted,
.km-today-status-row>span.status-submitted_verified{
  background:#edf8f1;
  color:#316d4b;
}
.km-today-status-row>span.status-menstruasi{
  background:#f8eef3;
  color:#8a526b;
}
.km-today-status-row>span.status-excused{
  background:#eef3f8;
  color:#506b82;
}

/* Monthly recap */
.km-month-filter{
  display:flex;
  align-items:end;
  gap:10px;
  padding:15px 18px;
  border-bottom:1px solid #eee9df;
  background:#fcfbf8;
}
.km-month-filter label{
  display:grid;
  gap:5px;
}
.km-month-filter label>span{
  color:#74817a;
  font-size:8px;
  font-weight:900;
}
.km-month-filter input{
  height:38px;
  padding:0 10px;
  border:1px solid #dcd5c8;
  border-radius:9px;
  background:#fff;
  color:#29463d;
  font-size:10px;
}
.km-month-filter button{
  height:38px;
  padding:0 13px;
  border:0;
  border-radius:9px;
  background:#07382d;
  color:#fff;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}
.km-monthly-table-wrap{
  overflow-x:auto;
}
.km-monthly-table{
  width:100%;
  min-width:860px;
  border-collapse:collapse;
}
.km-monthly-table th,
.km-monthly-table td{
  padding:11px 13px;
  border-bottom:1px solid #eee9df;
  text-align:left;
  vertical-align:middle;
  white-space:nowrap;
}
.km-monthly-table th{
  background:#fbfaf7;
  color:#8b7a54;
  font-size:7px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.km-monthly-table td{
  color:#65716b;
  font-size:8px;
}
.km-monthly-table td>b{
  color:#29463d;
  font-size:9px;
}
.km-monthly-table td.has-missed{
  color:#a45143;
  font-weight:900;
}
.km-monthly-table td small{
  color:#7a817d;
  font-size:8px;
}
.km-monthly-note{
  margin:0;
  padding:10px 14px 13px;
  color:#929a95;
  font-size:7px;
  line-height:1.55;
}

/* Teacher-note history */
.km-note-students{
  display:grid;
}
.km-note-student{
  border-bottom:1px solid #eee9df;
}
.km-note-student:last-child{border-bottom:0}
.km-note-student>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:13px 18px;
  cursor:pointer;
  list-style:none;
}
.km-note-student>summary::-webkit-details-marker{display:none}
.km-note-student>summary>b{
  color:#29463d;
  font-family:Georgia,serif;
  font-size:14px;
  font-weight:400;
}
.km-note-student>summary>span{
  color:#8b948f;
  font-size:8px;
}
.km-note-student[open]>summary{
  background:#fcfbf8;
  border-bottom:1px solid #eee9df;
}
.km-note-history-list{
  padding:0 18px 8px;
}
.km-note-history-list article{
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);
  gap:14px;
  padding:13px 0;
  border-bottom:1px solid #f0ece4;
}
.km-note-history-list article:last-child{border-bottom:0}
.km-note-meta b,
.km-note-meta span,
.km-note-meta small{
  display:block;
}
.km-note-meta b{
  color:#8a6c2f;
  font-size:8px;
}
.km-note-meta span{
  margin-top:3px;
  color:#526159;
  font-size:8px;
  line-height:1.5;
}
.km-note-meta small{
  margin-top:3px;
  color:#9aa19d;
  font-size:7px;
}
.km-note-history-list article>p{
  margin:0;
  color:#41564e;
  font-size:9px;
  line-height:1.65;
}

@media(max-width:1050px){
  .km-admin-stats{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:700px){
  .km-admin-stats{grid-template-columns:1fr 1fr}
  .km-today-status-list{grid-template-columns:1fr}
  .km-today-status-row:nth-child(odd){border-right:0}
  .km-note-history-list article{grid-template-columns:1fr}
}
@media(max-width:480px){
  .km-month-filter{align-items:stretch;flex-direction:column}
  .km-month-filter label,
  .km-month-filter input,
  .km-month-filter button{width:100%}
}


/* =========================================================
   V3.7.18 — MUSHAF PENYIMAKAN GURU
   Font memprioritaskan gaya Mushaf Standar Indonesia.
   ========================================================= */
.km-review-mushaf{
  margin-top:16px;
  overflow:hidden;
  border:1px solid #ddd5c5;
  border-radius:16px;
  background:
    radial-gradient(circle at 50% 0,rgba(184,148,67,.08),transparent 25%),
    #fffef9;
}
.km-review-mushaf-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:17px 20px;
  border-bottom:1px solid #eae3d6;
  background:linear-gradient(180deg,#fffdf8,#faf7ed);
}
.km-review-mushaf-head h3{
  margin:4px 0 0;
  color:#173f34;
  font-family:Georgia,serif;
  font-size:18px;
  font-weight:400;
}
.km-review-mushaf-head p{
  margin:5px 0 0;
  color:#7d8781;
  font-size:8px;
  line-height:1.5;
}
.km-review-mushaf-badge{
  flex:0 0 auto;
  padding:6px 8px;
  border:1px solid #ddcfaa;
  border-radius:999px;
  background:#fff9eb;
  color:#84682e;
  font-size:7px;
  font-weight:900;
}
.km-review-mushaf-status{
  margin:14px 17px 0;
  padding:10px 12px;
  border:1px solid #e1dacd;
  border-radius:10px;
  background:#faf8f2;
  color:#76817a;
  font-size:8px;
  line-height:1.5;
  text-align:center;
}
.km-review-mushaf-status.is-error{
  border-color:#e5c9bf;
  background:#fff7f4;
  color:#8b5548;
}
.km-review-mushaf-status b,
.km-review-mushaf-status span{
  display:block;
}
.km-review-mushaf-status span{
  margin-top:3px;
}
.km-review-mushaf-content{
  max-height:620px;
  overflow:auto;
  padding:4px 24px 20px;
  scroll-behavior:smooth;
}
.km-review-mushaf-surah{
  padding:20px 0 4px;
  border-bottom:1px solid #eee8dc;
}
.km-review-mushaf-surah:last-child{
  border-bottom:0;
}
.km-review-mushaf-surah>header{
  margin-bottom:13px;
  text-align:center;
}
.km-review-mushaf-surah>header small{
  display:block;
  color:#997a39;
  direction:ltr;
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.km-review-mushaf-surah>header h4{
  margin:3px 0 0;
  color:#173f34;
  font-family:"LPMQ Isep Misbah","Amiri Quran","KFGQPC Uthmanic Script HAFS","Noto Naskh Arabic","Traditional Arabic",serif;
  font-size:27px;
  font-weight:400;
  line-height:1.55;
}
.km-review-mushaf-verse{
  margin:0;
  padding:8px 2px;
  color:#172c25;
  direction:rtl;
  text-align:right;
  font-family:"LPMQ Isep Misbah","Amiri Quran","KFGQPC Uthmanic Script HAFS","Noto Naskh Arabic","Traditional Arabic",serif;
  font-size:27px;
  font-weight:400;
  line-height:2.15;
}
.km-review-ayah-number{
  display:inline-grid;
  place-items:center;
  min-width:30px;
  height:30px;
  margin-inline:8px 3px;
  padding:0 5px;
  border:1px solid #d8c895;
  border-radius:999px;
  background:#fff9eb;
  color:#896b2d;
  vertical-align:middle;
  font-family:Georgia,serif;
  font-size:10px;
  font-weight:700;
  line-height:1;
}
.km-review-mushaf-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:11px 16px;
  border-top:1px solid #eae3d6;
  background:#faf8f2;
  color:#69756f;
}
.km-review-mushaf-foot span{
  font-size:8px;
  font-weight:800;
}
.km-review-mushaf-foot small{
  color:#989d98;
  font-size:6.5px;
  text-align:right;
}

@media(max-width:700px){
  .km-review-mushaf-head{
    padding:14px;
  }
  .km-review-mushaf-head h3{
    font-size:15px;
  }
  .km-review-mushaf-content{
    max-height:none;
    padding:3px 15px 15px;
  }
  .km-review-mushaf-surah>header h4{
    font-size:24px;
  }
  .km-review-mushaf-verse{
    font-size:24px;
    line-height:2.2;
  }
  .km-review-mushaf-foot{
    display:block;
  }
  .km-review-mushaf-foot small{
    display:block;
    margin-top:4px;
    text-align:left;
  }
}


/* V3.7.19 — penanda halaman Mushaf Madinah pada Review Guru */
.km-review-mushaf-status.is-soft{
  border-color:#e8dfc7;
  background:#fffaf0;
  color:#856d3b;
}
.km-review-page-marker{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:17px 0 9px;
  padding:8px 11px;
  border-top:1px solid #d8c895;
  border-bottom:1px solid #e8dec2;
  background:linear-gradient(90deg,#fffaf0,#fffef9);
  direction:ltr;
}
.km-review-page-marker small{
  flex:0 0 auto;
  color:#97772f;
  font-size:7px;
  font-weight:900;
  letter-spacing:.11em;
}
.km-review-page-marker b{
  color:#5b625d;
  font-size:8px;
  font-weight:800;
  text-align:right;
}


/* =========================================================
   V3.7.21 — LEMBAR MUSHAF PENYIMAKAN
   ========================================================= */
.km-review-mushaf-content.is-page-image-mode{
  max-height:720px;
  padding:14px!important;
  direction:ltr!important;
  background:#f4f0e6;
}
.km-review-mushaf-sheet{
  margin:0 0 16px;
  overflow:hidden;
  border:1px solid #dcd2bd;
  border-radius:13px;
  background:#fff;
}
.km-review-mushaf-sheet:last-child{margin-bottom:0}
.km-review-mushaf-sheet-image{
  display:flex;
  justify-content:center;
  padding:8px;
  background:#eae4d7;
}
.km-review-mushaf-sheet img{
  display:block;
  width:100%;
  max-width:780px;
  height:auto;
  object-fit:contain;
}
.km-review-mushaf-sheet figcaption{
  display:flex;
  align-items:center;
  gap:8px 12px;
  flex-wrap:wrap;
  padding:9px 11px;
  border-top:1px solid #ded5c3;
  background:#fffdf8;
}
.km-review-mushaf-sheet figcaption>b{
  color:#8b6d2f;
  font-size:8px;
  letter-spacing:.08em;
}
.km-review-mushaf-sheet figcaption>span{
  flex:1 1 180px;
  color:#506159;
  font-size:8px;
  font-weight:800;
}
.km-review-mushaf-sheet figcaption>a{
  color:#0a5a44;
  font-size:7px;
  font-weight:900;
  text-decoration:none;
}
.km-review-mushaf-sheet figcaption>a:hover{text-decoration:underline}

.km-review-range-error{
  margin-top:15px;
  padding:13px 14px;
  border:1px solid #e1bfb4;
  border-radius:12px;
  background:#fff6f3;
}
.km-review-range-error>b{
  display:block;
  color:#914b3d;
  font-size:9px;
}
.km-review-range-error>p{
  margin:5px 0 0;
  color:#805e56;
  font-size:8px;
  line-height:1.6;
}

@media(max-width:700px){
  .km-review-mushaf-content.is-page-image-mode{
    max-height:none;
    padding:7px!important;
  }
  .km-review-mushaf-sheet-image{padding:3px}
}


/* =========================================================
   V3.7.23 — ATUR CETAK DATA SANTRI
   ========================================================= */
.ahsim-print-builder{
  overflow:hidden;
  border:1px solid #e1ddd3;
  border-radius:18px;
  background:#fff;
}
.ahsim-print-builder>.ahsim-card-title{
  padding:19px 21px;
  border-bottom:1px solid #eee9df;
}
.ahsim-print-builder-form{
  padding:0 21px 22px;
}
.ahsim-print-builder-section{
  padding:20px 0;
  border-bottom:1px solid #eee9df;
}
.ahsim-print-builder-section:last-of-type{
  border-bottom:0;
}
.ahsim-print-builder-title{
  display:flex;
  align-items:flex-start;
  gap:11px;
  margin-bottom:13px;
}
.ahsim-print-builder-title>span{
  display:grid;
  place-items:center;
  flex:0 0 31px;
  width:31px;
  height:31px;
  border-radius:9px;
  background:#f4ecd9;
  color:#8b6d2c;
  font-size:8px;
  font-weight:900;
}
.ahsim-print-builder-title b{
  display:block;
  color:#21453a;
  font-family:Georgia,serif;
  font-size:15px;
  font-weight:400;
}
.ahsim-print-builder-title small{
  display:block;
  margin-top:3px;
  color:#89918d;
  font-size:8px;
}
.ahsim-print-mode-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.ahsim-print-mode-grid>label{
  display:block;
  min-height:84px;
  padding:12px;
  border:1px solid #ded9cf;
  border-radius:12px;
  background:#fff;
  cursor:pointer;
}
.ahsim-print-mode-grid input{
  margin:0 6px 0 0;
  accent-color:#0b5b46;
}
.ahsim-print-mode-grid b{
  color:#29473e;
  font-size:9px;
}
.ahsim-print-mode-grid small{
  display:block;
  margin:7px 0 0 22px;
  color:#89918d;
  font-size:7px;
  line-height:1.45;
}
.ahsim-print-filter-panel{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:12px;
  padding:13px;
  border:1px solid #e4ded2;
  border-radius:12px;
  background:#fbfaf7;
}
.ahsim-print-filter-panel[hidden]{
  display:none!important;
}
.ahsim-print-filter-panel label,
.ahsim-print-common-filters label,
.ahsim-print-title-control label{
  display:grid;
  gap:5px;
  color:#52635b;
  font-size:8px;
  font-weight:900;
}
.ahsim-print-filter-panel select,
.ahsim-print-filter-panel input:not([type="checkbox"]):not([type="radio"]),
.ahsim-print-common-filters select,
.ahsim-print-title-control input{
  width:100%;
  min-height:39px;
  padding:0 10px;
  border:1px solid #dcd6cb;
  border-radius:9px;
  background:#fff;
  color:#29473e;
  font-size:9px;
  outline:0;
}
.ahsim-print-filter-panel>p{
  grid-column:1/-1;
  margin:0;
  color:#909894;
  font-size:7px;
  line-height:1.5;
}
.ahsim-print-common-filters{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:12px;
}
.ahsim-print-filter-panel.is-student-picker{
  display:block;
}
.ahsim-print-filter-panel.is-student-picker[hidden]{
  display:none!important;
}
.ahsim-print-student-picker-head{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:9px;
}
.ahsim-print-student-picker-head>input{
  flex:1 1 auto;
}
.ahsim-print-student-picker-head>label{
  display:flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
}
.ahsim-print-student-picker-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  max-height:340px;
  overflow:auto;
  padding-right:3px;
}
.ahsim-print-student-picker-list>label{
  display:flex;
  align-items:flex-start;
  gap:8px;
  padding:9px 10px;
  border:1px solid #ebe5da;
  border-radius:10px;
  background:#fff;
}
.ahsim-print-student-picker-list>label[hidden]{
  display:none!important;
}
.ahsim-print-student-picker-list b{
  display:block;
  color:#314b42;
  font-size:8px;
}
.ahsim-print-student-picker-list small{
  display:block;
  margin-top:2px;
  color:#929894;
  font-size:7px;
  line-height:1.4;
}
.ahsim-print-field-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
}
.ahsim-print-field-grid>label{
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 10px;
  border:1px solid #e5dfd4;
  border-radius:10px;
  background:#fcfbf8;
  color:#506058;
  font-size:8px;
  font-weight:800;
}
.ahsim-print-field-grid input{
  accent-color:#0b5b46;
}
.ahsim-print-title-control{
  max-width:620px;
}
.ahsim-print-builder-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  padding-top:19px;
}
.ahsim-print-builder-actions>a{
  color:#7e8782;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}
.ahsim-print-builder-actions>button{
  min-height:41px;
  padding:0 16px;
  border:0;
  border-radius:10px;
  background:#0a4b3a;
  color:#fff;
  font-size:8px;
  font-weight:900;
  cursor:pointer;
}

/* Custom print table */
.ahsim-print-custom-table{
  table-layout:auto;
}
.ahsim-print-custom-table .field-no{
  width:32px;
  text-align:center;
}
.ahsim-print-custom-table .field-keterangan{
  min-width:120px;
  height:34px;
}
.ahsim-print-custom-table .field-nama{
  min-width:130px;
  font-weight:700;
}
.ahsim-print-custom-table .field-ttl{
  min-width:145px;
}
.ahsim-print-custom-table .field-alamat{
  min-width:190px;
}
.ahsim-print-custom-table td{
  word-break:normal;
  overflow-wrap:anywhere;
}

@media(max-width:960px){
  .ahsim-print-mode-grid{grid-template-columns:1fr 1fr}
  .ahsim-print-field-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .ahsim-print-mode-grid,
  .ahsim-print-filter-panel,
  .ahsim-print-common-filters,
  .ahsim-print-student-picker-list,
  .ahsim-print-field-grid{
    grid-template-columns:1fr;
  }
  .ahsim-print-student-picker-head{
    align-items:stretch;
    flex-direction:column;
  }
  .ahsim-print-builder-actions{
    align-items:stretch;
    flex-direction:column-reverse;
  }
  .ahsim-print-builder-actions>button{
    width:100%;
  }
}


/* =========================================================
   V3.7.24 — FIX CHECKBOX PILIH SANTRI
   Checkbox sebelumnya ikut width:100% dari input form umum.
   ========================================================= */
.ahsim-print-student-picker-head>label{
  display:flex!important;
  align-items:center;
  gap:7px;
  min-height:32px;
  color:#52635b;
  font-size:8px;
  font-weight:800;
  white-space:nowrap;
}
.ahsim-print-student-picker-head>label input[type="checkbox"],
.ahsim-print-student-picker-list>label input[type="checkbox"],
.ahsim-print-field-grid>label input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  display:inline-block!important;
  flex:0 0 16px!important;
  width:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  max-height:16px!important;
  margin:1px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:3px!important;
  box-shadow:none!important;
  background:transparent!important;
  accent-color:#0b5b46;
  cursor:pointer;
}
.ahsim-print-student-picker-list>label{
  display:flex!important;
  align-items:flex-start!important;
  min-width:0;
  cursor:pointer;
}
.ahsim-print-student-picker-list>label>span{
  display:block;
  flex:1 1 auto;
  min-width:0;
}
.ahsim-print-student-picker-list b{
  display:block!important;
  overflow:hidden;
  color:#314b42!important;
  font-size:9px!important;
  font-weight:850;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ahsim-print-student-picker-list small{
  display:block!important;
  margin-top:3px!important;
  overflow:hidden;
  color:#858f89!important;
  font-size:7px!important;
  line-height:1.45!important;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ahsim-print-field-grid>label{
  min-width:0;
}
.ahsim-print-field-grid>label>span{
  min-width:0;
}

@media(max-width:650px){
  .ahsim-print-student-picker-list>label{
    padding:10px 11px;
  }
  .ahsim-print-student-picker-list b{
    font-size:9px!important;
  }
  .ahsim-print-student-picker-list small{
    white-space:normal;
  }
}


/* =========================================================
   V3.7.25 — PREMIUM PRINT BUILDER
   Quiet luxury: ivory / deep green / restrained gold.
   Native checkbox/radio are visually hidden so theme/WP styles
   can never enlarge them again.
   ========================================================= */
.ahsim-print-builder{
  border:1px solid #e8e1d4!important;
  border-radius:20px!important;
  background:#fffefa!important;
  box-shadow:0 18px 48px rgba(20,54,44,.055);
}
.ahsim-print-builder>.ahsim-card-title{
  padding:24px 26px 20px!important;
  border-bottom:1px solid #eee7da!important;
  background:
    radial-gradient(circle at 92% 0,rgba(178,143,64,.07),transparent 31%),
    #fffefa;
}
.ahsim-print-builder>.ahsim-card-title h2{
  font-size:24px!important;
  line-height:1.2!important;
}
.ahsim-print-builder>.ahsim-card-title p{
  margin-top:6px!important;
  font-size:12px!important;
  line-height:1.55!important;
}
.ahsim-print-builder-form{
  padding:0 26px 28px!important;
}
.ahsim-print-builder-section{
  padding:25px 0!important;
}
.ahsim-print-builder-title{
  gap:13px!important;
  margin-bottom:17px!important;
}
.ahsim-print-builder-title>span{
  flex-basis:34px!important;
  width:34px!important;
  height:34px!important;
  border-radius:10px!important;
  background:#f4ead2!important;
  color:#8d6e2d!important;
  font-size:10px!important;
}
.ahsim-print-builder-title b{
  color:#173f34!important;
  font-size:19px!important;
  line-height:1.25!important;
}
.ahsim-print-builder-title small{
  margin-top:4px!important;
  color:#7e8983!important;
  font-size:11px!important;
  line-height:1.45!important;
}

/* --- mode selector --- */
.ahsim-print-mode-grid{
  gap:10px!important;
}
.ahsim-print-mode-grid>label{
  position:relative;
  display:flex!important;
  align-items:flex-start!important;
  gap:11px!important;
  min-height:92px!important;
  padding:16px 16px 14px!important;
  border:1px solid #e3dccf!important;
  border-radius:14px!important;
  background:#fff!important;
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease;
}
.ahsim-print-mode-grid>label:hover{
  border-color:#cdbd98!important;
  background:#fffdf8!important;
  transform:translateY(-1px);
}
.ahsim-print-mode-grid>label.is-selected{
  border-color:#a9986c!important;
  background:linear-gradient(145deg,#f9f7ee,#fffdf8)!important;
  box-shadow:0 8px 20px rgba(32,71,57,.07);
}
.ahsim-print-mode-grid>label>input{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.ahsim-mode-indicator{
  position:relative;
  display:block;
  flex:0 0 18px;
  width:18px;
  height:18px;
  margin-top:1px;
  border:1.5px solid #9ba49f;
  border-radius:50%;
  background:#fff;
  box-shadow:inset 0 0 0 4px #fff;
  transition:.18s ease;
}
.ahsim-print-mode-grid>label.is-selected .ahsim-mode-indicator{
  border-color:#0c5a45;
  background:#0c5a45;
  box-shadow:inset 0 0 0 4px #fff;
}
.ahsim-print-mode-grid>label>span{
  display:block;
  min-width:0;
}
.ahsim-print-mode-grid b{
  display:block!important;
  color:#26483e!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.ahsim-print-mode-grid small{
  display:block!important;
  margin:6px 0 0!important;
  color:#7f8a84!important;
  font-size:10px!important;
  line-height:1.5!important;
}

/* --- filter surfaces --- */
.ahsim-print-filter-panel{
  margin-top:15px!important;
  padding:16px!important;
  border:1px solid #e6dfd3!important;
  border-radius:15px!important;
  background:#fbfaf6!important;
}
.ahsim-print-common-filters{
  gap:13px!important;
  margin-top:15px!important;
}
.ahsim-print-filter-panel label,
.ahsim-print-common-filters label,
.ahsim-print-title-control label{
  color:#445b52!important;
  font-size:11px!important;
  line-height:1.35!important;
}
.ahsim-print-filter-panel select,
.ahsim-print-filter-panel input:not([type="checkbox"]):not([type="radio"]),
.ahsim-print-common-filters select,
.ahsim-print-title-control input{
  min-height:44px!important;
  padding:0 13px!important;
  border-color:#dcd4c7!important;
  border-radius:10px!important;
  color:#1f4438!important;
  font-size:12px!important;
}
.ahsim-print-filter-panel select:focus,
.ahsim-print-filter-panel input:focus,
.ahsim-print-common-filters select:focus,
.ahsim-print-title-control input:focus{
  border-color:#b69a5b!important;
  box-shadow:0 0 0 3px rgba(182,154,91,.10)!important;
}
.ahsim-print-filter-panel>p{
  color:#78867f!important;
  font-size:10px!important;
}

/* --- student picker toolbar --- */
.ahsim-print-filter-panel.is-student-picker{
  padding:14px!important;
}
.ahsim-print-student-picker-head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  margin-bottom:12px!important;
}
.ahsim-print-search-wrap{
  position:relative;
  min-width:0;
}
.ahsim-print-search-wrap>span{
  position:absolute;
  left:14px;
  top:50%;
  z-index:1;
  transform:translateY(-52%);
  color:#8a958f;
  font-family:Georgia,serif;
  font-size:20px;
  line-height:1;
  pointer-events:none;
}
.ahsim-print-search-wrap>input{
  width:100%!important;
  min-height:46px!important;
  padding:0 14px 0 41px!important;
  border:1px solid #ddd5c7!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#24463c!important;
  font-size:12px!important;
}
.ahsim-print-search-wrap>input::placeholder{
  color:#9aa29e!important;
}

/* Hide native controls completely */
.ahsim-select-all>input[type="checkbox"],
.ahsim-print-student-picker-list>label>input[type="checkbox"],
.ahsim-print-field-grid>label>input[type="checkbox"]{
  position:absolute!important;
  width:1px!important;
  min-width:1px!important;
  max-width:1px!important;
  height:1px!important;
  min-height:1px!important;
  max-height:1px!important;
  margin:-1px!important;
  padding:0!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  clip-path:inset(50%)!important;
  border:0!important;
  opacity:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  pointer-events:none!important;
}

/* Custom check control */
.ahsim-choice-box{
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 18px;
  width:18px;
  height:18px;
  border:1.5px solid #aeb6b1;
  border-radius:5px;
  background:#fff;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.ahsim-choice-box::after{
  content:"";
  width:7px;
  height:4px;
  margin-top:-2px;
  border-left:2px solid transparent;
  border-bottom:2px solid transparent;
  transform:rotate(-45deg);
}
.is-selected>.ahsim-choice-box{
  border-color:#0a5a44;
  background:#0a5a44;
  box-shadow:0 0 0 3px rgba(10,90,68,.08);
}
.is-selected>.ahsim-choice-box::after{
  border-left-color:#fff;
  border-bottom-color:#fff;
}

/* Select all */
.ahsim-select-all{
  position:relative;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:0 10px!important;
  border-radius:9px;
  color:#53665e!important;
  font-size:11px!important;
  font-weight:800!important;
  cursor:pointer;
  white-space:nowrap;
}
.ahsim-select-all:hover{
  background:#f6f3eb;
}

/* --- student list --- */
.ahsim-print-student-picker-list{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
  max-height:410px!important;
  padding:2px 4px 2px 0!important;
  scrollbar-width:thin;
  scrollbar-color:#d7d0c3 transparent;
}
.ahsim-print-student-picker-list>label{
  position:relative;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-width:0!important;
  min-height:66px!important;
  padding:12px 14px!important;
  border:1px solid #e6dfd3!important;
  border-radius:12px!important;
  background:#fff!important;
  cursor:pointer;
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
.ahsim-print-student-picker-list>label:hover{
  border-color:#cfc0a0!important;
  background:#fffdf8!important;
  transform:translateY(-1px);
}
.ahsim-print-student-picker-list>label.is-selected{
  border-color:#a99973!important;
  background:linear-gradient(135deg,#f5f7f1,#fffdf8)!important;
  box-shadow:inset 3px 0 0 #0b5b46,0 6px 16px rgba(30,68,55,.06);
}
.ahsim-student-choice-copy{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
}
.ahsim-print-student-picker-list b{
  display:block!important;
  overflow:hidden!important;
  color:#1d4236!important;
  font-size:13px!important;
  font-weight:800!important;
  line-height:1.35!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.ahsim-print-student-picker-list small{
  display:block!important;
  margin-top:5px!important;
  overflow:hidden!important;
  color:#77857e!important;
  font-size:10px!important;
  font-weight:500!important;
  line-height:1.45!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.ahsim-print-student-picker-list>label.is-selected b{
  color:#0b4c3a!important;
}

/* --- print fields --- */
.ahsim-print-field-grid{
  gap:9px!important;
}
.ahsim-print-field-grid>label{
  position:relative;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  min-height:48px!important;
  padding:10px 12px!important;
  border:1px solid #e5ded2!important;
  border-radius:11px!important;
  background:#fff!important;
  color:#425b51!important;
  font-size:11px!important;
  font-weight:750!important;
  cursor:pointer;
  transition:.16s ease;
}
.ahsim-print-field-grid>label:hover{
  border-color:#cfc0a0!important;
  background:#fffdf8!important;
}
.ahsim-print-field-grid>label.is-selected{
  border-color:#af9d71!important;
  background:#f8f7ef!important;
  color:#174637!important;
}

/* --- actions --- */
.ahsim-print-builder-actions{
  gap:18px!important;
  padding-top:23px!important;
}
.ahsim-print-builder-actions>a{
  color:#687870!important;
  font-size:12px!important;
}
.ahsim-print-builder-actions>button{
  min-height:46px!important;
  padding:0 20px!important;
  border-radius:11px!important;
  background:linear-gradient(180deg,#0c5a45,#084a39)!important;
  box-shadow:0 8px 20px rgba(8,74,57,.16);
  font-size:11px!important;
  letter-spacing:.015em;
}
.ahsim-print-builder-actions>button:hover{
  filter:brightness(1.04);
}

/* Responsive */
@media(max-width:1050px){
  .ahsim-print-mode-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .ahsim-print-field-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}
@media(max-width:760px){
  .ahsim-print-builder>.ahsim-card-title{
    padding:20px 18px 17px!important;
  }
  .ahsim-print-builder-form{
    padding:0 18px 22px!important;
  }
  .ahsim-print-mode-grid,
  .ahsim-print-student-picker-list,
  .ahsim-print-field-grid,
  .ahsim-print-common-filters{
    grid-template-columns:1fr!important;
  }
  .ahsim-print-student-picker-head{
    grid-template-columns:1fr!important;
  }
  .ahsim-select-all{
    justify-content:flex-start!important;
    padding-left:2px!important;
  }
  .ahsim-print-student-picker-list>label{
    min-height:62px!important;
  }
}


/* =========================================================
   V3.7.26 — AL-KITABAH V1
   ========================================================= */
.kb-hero{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  margin-bottom:16px;
  padding:24px 26px;
  overflow:hidden;
  border:1px solid #e4dccd;
  border-radius:18px;
  background:
    radial-gradient(circle at 92% 20%,rgba(172,139,63,.12),transparent 34%),
    linear-gradient(135deg,#fffef9,#f7f4e9);
}
.kb-hero h2{
  max-width:720px;
  margin:6px 0 0;
  color:#173f34;
  font-family:Georgia,serif;
  font-size:25px;
  font-weight:400;
  line-height:1.22;
}
.kb-hero p{
  max-width:760px;
  margin:8px 0 0;
  color:#66746d;
  font-size:11px;
  line-height:1.65;
}
.kb-hero-mark{
  flex:0 0 auto;
  color:#9c7b32;
  font-family:"Traditional Arabic","Noto Naskh Arabic",serif;
  font-size:50px;
  line-height:1;
  opacity:.7;
}

.kb-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:14px 0;
}
.kb-stats>div{
  padding:15px 16px;
  border:1px solid #e5dfd4;
  border-radius:13px;
  background:#fff;
}
.kb-stats small{
  display:block;
  color:#9a7b35;
  font-size:7px;
  font-weight:900;
  letter-spacing:.11em;
}
.kb-stats strong{
  display:block;
  margin-top:5px;
  color:#173f34;
  font-family:Georgia,serif;
  font-size:25px;
  font-weight:400;
}
.kb-stats span{
  display:block;
  margin-top:2px;
  color:#7f8a84;
  font-size:8px;
}

.kb-layout{
  display:grid;
  grid-template-columns:minmax(260px,.78fr) minmax(0,1.75fr);
  gap:14px;
  align-items:start;
}
.kb-roster,
.kb-workspace{
  min-width:0;
  border:1px solid #e3ddd2;
  border-radius:17px;
  background:#fff;
}
.kb-roster{
  position:sticky;
  top:12px;
  overflow:hidden;
}
.kb-panel-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:16px 17px;
  border-bottom:1px solid #eee9df;
}
.kb-panel-head h3{
  margin:4px 0 0;
  color:#173f34;
  font-family:Georgia,serif;
  font-size:17px;
  font-weight:400;
}
.kb-panel-head p{
  margin:4px 0 0;
  color:#7d8882;
  font-size:8px;
  line-height:1.5;
}
.kb-panel-head input[type="search"]{
  width:126px;
  height:36px;
  padding:0 10px;
  border:1px solid #ddd6ca;
  border-radius:9px;
  background:#fbfaf7;
  color:#28493f;
  font-size:9px;
  outline:0;
}
.kb-panel-head input[type="search"]:focus{
  border-color:#b89c5c;
  box-shadow:0 0 0 3px rgba(184,156,92,.09);
}

.kb-roster-list{
  max-height:610px;
  overflow:auto;
  padding:7px;
  scrollbar-width:thin;
  scrollbar-color:#d9d2c6 transparent;
}
.kb-person{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:10px 9px;
  border:1px solid transparent;
  border-radius:11px;
  color:inherit;
  text-decoration:none;
  transition:.16s ease;
}
.kb-person:hover{
  border-color:#e2d7c1;
  background:#fcfaf4;
}
.kb-person.is-active{
  border-color:#cdbd96;
  background:linear-gradient(135deg,#f5f7f0,#fffdf8);
  box-shadow:inset 3px 0 0 #0a5944;
}
.kb-person[hidden]{display:none!important}
.kb-person-initial{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border:1px solid #dfd5be;
  border-radius:50%;
  background:#fbf7ec;
  color:#8c6e2e;
  font-family:Georgia,serif;
  font-size:13px;
}
.kb-person-copy{
  display:block;
  flex:1 1 auto;
  min-width:0;
}
.kb-person-copy b{
  display:block;
  overflow:hidden;
  color:#24483d;
  font-size:9px;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kb-person-copy small,
.kb-person-copy em{
  display:block;
  overflow:hidden;
  margin-top:2px;
  color:#8a938e;
  font-size:7px;
  font-style:normal;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kb-person-copy em{
  color:#6f7f77;
}
.kb-person-arrow{
  color:#b2a47f;
  font-size:19px;
  line-height:1;
}

.kb-workspace{
  overflow:hidden;
}
.kb-workspace-head{
  padding:18px 20px 14px;
  border-bottom:1px solid #eee9df;
  background:
    radial-gradient(circle at 96% 0,rgba(174,140,63,.07),transparent 28%),
    #fff;
}
.kb-workspace-head h3{
  margin:4px 0 0;
  color:#173f34;
  font-family:Georgia,serif;
  font-size:21px;
  font-weight:400;
}
.kb-workspace-head p{
  margin:5px 0 0;
  color:#77847d;
  font-size:8px;
}

.kb-form{
  padding:18px 20px 20px;
}
.kb-form-grid{
  display:grid;
  grid-template-columns:minmax(150px,.72fr) minmax(0,1.7fr);
  gap:11px;
}
.kb-form-grid.top{
  align-items:start;
}
.kb-field{
  display:grid;
  gap:6px;
  min-width:0;
  color:#425a51;
  font-size:8px;
  font-weight:900;
}
.kb-field.wide{
  min-width:0;
}
.kb-field>span em{
  color:#9aa19d;
  font-size:7px;
  font-style:normal;
  font-weight:600;
}
.kb-field input,
.kb-field select,
.kb-field textarea{
  width:100%;
  min-width:0;
  border:1px solid #dcd5c9;
  border-radius:10px;
  background:#fff;
  color:#24483d;
  font:inherit;
  font-size:9px;
  font-weight:500;
  outline:0;
}
.kb-field input,
.kb-field select{
  min-height:40px;
  padding:0 10px;
}
.kb-field textarea{
  padding:9px 10px;
  resize:vertical;
  line-height:1.55;
}
.kb-field input:focus,
.kb-field select:focus,
.kb-field textarea:focus{
  border-color:#b79a58;
  box-shadow:0 0 0 3px rgba(183,154,88,.09);
}
.kb-field>small{
  color:#929a96;
  font-size:7px;
  font-weight:500;
}

.kb-form-section-title{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:18px 0 11px;
  padding-top:17px;
  border-top:1px solid #eee9df;
}
.kb-form-section-title>span{
  display:grid;
  place-items:center;
  flex:0 0 29px;
  width:29px;
  height:29px;
  border-radius:9px;
  background:#f4ecd9;
  color:#8d6e2d;
  font-size:7px;
  font-weight:900;
}
.kb-form-section-title b{
  display:block;
  color:#274a3e;
  font-size:9px;
}
.kb-form-section-title small{
  display:block;
  margin-top:2px;
  color:#8a938e;
  font-size:7px;
}

.kb-grade-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
}

.kb-photo-upload{
  position:relative;
  display:flex;
  align-items:center;
  gap:11px;
  min-height:68px;
  padding:12px 14px;
  border:1px dashed #cabd9f;
  border-radius:12px;
  background:#fcfaf4;
  cursor:pointer;
  transition:.16s ease;
}
.kb-photo-upload:hover{
  border-color:#9c7d39;
  background:#fffaf0;
}
.kb-photo-upload input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}
.kb-photo-icon{
  display:grid;
  place-items:center;
  flex:0 0 34px;
  width:34px;
  height:34px;
  border-radius:10px;
  background:#efe6cf;
  color:#8f6e29;
  font-size:17px;
}
.kb-photo-copy{
  display:block;
  flex:1 1 auto;
  min-width:0;
}
.kb-photo-copy b{
  display:block;
  color:#2e4d43;
  font-size:9px;
}
.kb-photo-copy small{
  display:block;
  margin-top:3px;
  color:#8a938e;
  font-size:7px;
}
.kb-photo-action{
  flex:0 0 auto;
  padding:6px 9px;
  border-radius:8px;
  background:#0b5441;
  color:#fff;
  font-size:7px;
  font-weight:900;
}

.kb-photo-preview{
  position:relative;
  width:min(320px,100%);
  margin-top:10px;
  overflow:hidden;
  border:1px solid #ded5c4;
  border-radius:12px;
  background:#f3efe6;
}
.kb-photo-preview[hidden]{display:none!important}
.kb-photo-preview img{
  display:block;
  width:100%;
  max-height:300px;
  object-fit:contain;
}
.kb-photo-preview button{
  display:block;
  width:100%;
  padding:8px;
  border:0;
  border-top:1px solid #ded5c4;
  background:#fff;
  color:#80564a;
  font-size:7px;
  font-weight:900;
  cursor:pointer;
}

.kb-drive-warning{
  padding:12px 13px;
  border:1px solid #e4c9b4;
  border-radius:11px;
  background:#fff8f1;
}
.kb-drive-warning b,
.kb-drive-warning span{
  display:block;
}
.kb-drive-warning b{
  color:#8c513d;
  font-size:8px;
}
.kb-drive-warning span{
  margin-top:4px;
  color:#80685f;
  font-size:7px;
  line-height:1.5;
}

.kb-submit-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid #eee9df;
}
.kb-submit-row p{
  max-width:540px;
  margin:0;
  color:#89928d;
  font-size:7px;
  line-height:1.55;
}
.kb-submit-row button{
  flex:0 0 auto;
  min-height:40px;
  padding:0 15px;
  border:0;
  border-radius:9px;
  background:linear-gradient(180deg,#0c5944,#084937);
  color:#fff;
  font-size:8px;
  font-weight:900;
  box-shadow:0 7px 17px rgba(8,73,55,.14);
  cursor:pointer;
}

.kb-history{
  border-top:1px solid #e9e3d8;
}
.kb-history-list{
  padding:9px 14px 15px;
}
.kb-history-item{
  padding:14px 5px;
  border-bottom:1px solid #eee9df;
}
.kb-history-item:last-child{
  border-bottom:0;
}
.kb-history-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.kb-history-top small{
  display:block;
  color:#9a7b36;
  font-size:7px;
  font-weight:900;
}
.kb-history-top h4{
  margin:4px 0 0;
  color:#26483d;
  font-size:10px;
  line-height:1.45;
}
.kb-result{
  flex:0 0 auto;
  padding:5px 7px;
  border-radius:999px;
  font-size:6.5px;
  font-weight:900;
}
.kb-result.excellent{
  background:#edf5ea;
  color:#397041;
}
.kb-result.good{
  background:#edf5f1;
  color:#2d6954;
}
.kb-result.repeat{
  background:#fff3dc;
  color:#946e24;
}
.kb-result.needs-help{
  background:#fff0ed;
  color:#9b5448;
}

.kb-score-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}
.kb-score-row>span{
  padding:8px 9px;
  border:1px solid #ece6dc;
  border-radius:9px;
  background:#fbfaf7;
}
.kb-score-row small,
.kb-score-row b{
  display:block;
}
.kb-score-row small{
  color:#919995;
  font-size:6.5px;
}
.kb-score-row b{
  margin-top:2px;
  color:#456056;
  font-size:7.5px;
}
.kb-note{
  margin:9px 0 0;
  padding:9px 10px;
  border-left:2px solid #c9b175;
  background:#fbf8ef;
  color:#65736d;
  font-size:7.5px;
  line-height:1.6;
}
.kb-history-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:9px;
}
.kb-history-foot small{
  color:#9a9f9c;
  font-size:6.5px;
}
.kb-history-foot a{
  color:#0b5944;
  font-size:7px;
  font-weight:900;
  text-decoration:none;
}
.kb-photo-details{
  margin-top:9px;
}
.kb-photo-details summary{
  width:max-content;
  color:#8b7239;
  font-size:7px;
  font-weight:900;
  cursor:pointer;
}
.kb-photo-frame{
  margin-top:8px;
  overflow:hidden;
  border:1px solid #e0d8ca;
  border-radius:10px;
  background:#f1ede3;
}
.kb-photo-frame img{
  display:block;
  width:100%;
  max-height:520px;
  object-fit:contain;
}

.kb-empty,
.kb-empty-workspace{
  color:#83908a;
  font-size:8px;
  line-height:1.6;
}
.kb-empty{
  padding:16px;
  text-align:center;
}
.kb-empty-workspace{
  display:grid;
  place-items:center;
  min-height:450px;
  padding:28px;
  text-align:center;
}
.kb-empty-workspace>span{
  color:#b19552;
  font-family:"Traditional Arabic","Noto Naskh Arabic",serif;
  font-size:42px;
}
.kb-empty-workspace h3{
  margin:8px 0 0;
  color:#25493e;
  font-family:Georgia,serif;
  font-size:18px;
  font-weight:400;
}
.kb-empty-workspace p{
  max-width:480px;
  margin:7px 0 0;
}

.kb-attention{
  margin-top:14px;
  overflow:hidden;
  border:1px solid #e3ddd2;
  border-radius:14px;
  background:#fff;
}
.kb-attention>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
}
.kb-attention>summary::-webkit-details-marker{display:none}
.kb-attention>summary small,
.kb-attention>summary b{
  display:block;
}
.kb-attention>summary small{
  color:#9a7a34;
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.1em;
}
.kb-attention>summary b{
  margin-top:2px;
  color:#284b40;
  font-size:9px;
}
.kb-attention>summary em{
  color:#7f8984;
  font-size:7px;
  font-style:normal;
}
.kb-attention-list{
  padding:0 12px 11px;
  border-top:1px solid #eee8de;
}
.kb-attention-list>a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 4px;
  border-bottom:1px solid #f0ece4;
  color:inherit;
  text-decoration:none;
}
.kb-attention-list>a:last-child{border-bottom:0}
.kb-attention-list b,
.kb-attention-list small{
  display:block;
}
.kb-attention-list b{
  color:#345249;
  font-size:8px;
}
.kb-attention-list small{
  margin-top:2px;
  color:#929a96;
  font-size:6.5px;
}
.kb-attention-list em{
  color:#0b5944;
  font-size:7px;
  font-style:normal;
  font-weight:900;
}

@media(max-width:900px){
  .kb-layout{
    grid-template-columns:1fr;
  }
  .kb-roster{
    position:static;
  }
  .kb-roster-list{
    max-height:360px;
  }
}
@media(max-width:650px){
  .kb-hero{
    align-items:flex-start;
    padding:19px 17px;
  }
  .kb-hero h2{
    font-size:21px;
  }
  .kb-hero-mark{
    font-size:35px;
  }
  .kb-stats{
    grid-template-columns:1fr;
  }
  .kb-form{
    padding:15px;
  }
  .kb-form-grid,
  .kb-grade-grid,
  .kb-score-row{
    grid-template-columns:1fr;
  }
  .kb-submit-row{
    align-items:stretch;
    flex-direction:column;
  }
  .kb-submit-row button{
    width:100%;
  }
  .kb-history-top,
  .kb-history-foot{
    align-items:flex-start;
    flex-direction:column;
  }
  .kb-panel-head{
    align-items:stretch;
    flex-direction:column;
  }
  .kb-panel-head input[type="search"]{
    width:100%;
  }
}


/* =========================================================
   V3.7.32 — DONASI
   ========================================================= */
.dn-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 24px;
  border:1px solid #e2dbcf;
  border-radius:17px;
  background:
    radial-gradient(circle at 92% 0,rgba(172,140,64,.11),transparent 32%),
    linear-gradient(135deg,#fffefa,#f8f4e9);
}
.dn-hero h2{
  margin:5px 0 0;
  color:#173f34;
  font-family:Georgia,serif;
  font-size:23px;
  font-weight:400;
}
.dn-hero p{
  max-width:690px;
  margin:7px 0 0;
  color:#74817b;
  font-size:9px;
  line-height:1.6;
}
.dn-hero>a{
  flex:0 0 auto;
  padding:9px 11px;
  border:1px solid #cbb98e;
  border-radius:9px;
  background:#fff;
  color:#7b622d;
  font-size:8px;
  font-weight:900;
  text-decoration:none;
}
.dn-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:13px 0;
}
.dn-stats>div{
  padding:15px 16px;
  border:1px solid #e5dfd4;
  border-radius:13px;
  background:#fff;
}
.dn-stats small{
  display:block;
  color:#96762e;
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
}
.dn-stats strong{
  display:block;
  margin-top:5px;
  color:#173f34;
  font-family:Georgia,serif;
  font-size:23px;
  font-weight:400;
}
.dn-stats span{
  display:block;
  margin-top:2px;
  color:#89928e;
  font-size:7px;
}
.dn-manual{
  margin-bottom:13px;
  overflow:hidden;
  border:1px solid #e2dcd1;
  border-radius:14px;
  background:#fff;
}
.dn-manual>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
}
.dn-manual>summary::-webkit-details-marker{display:none}
.dn-manual>summary small,.dn-manual>summary b{display:block}
.dn-manual>summary small{
  color:#9a7b35;
  font-size:6.5px;
  font-weight:900;
  letter-spacing:.1em;
}
.dn-manual>summary b{
  margin-top:2px;
  color:#284b40;
  font-size:9px;
}
.dn-manual>summary em{
  color:#9b8248;
  font-size:17px;
  font-style:normal;
}
.dn-manual-form{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:15px 16px 17px;
  border-top:1px solid #eee9df;
  background:#fbfaf7;
}
.dn-manual-form label{
  display:grid;
  gap:5px;
  min-width:0;
  color:#52655d;
  font-size:7px;
  font-weight:900;
}
.dn-manual-form label>span em{
  color:#9aa19d;
  font-size:6.5px;
  font-style:normal;
  font-weight:500;
}
.dn-manual-form input:not([type=checkbox]),
.dn-manual-form select,
.dn-manual-form textarea{
  width:100%;
  min-width:0;
  min-height:38px;
  padding:0 9px;
  border:1px solid #dcd5ca;
  border-radius:9px;
  background:#fff;
  color:#2c4b42;
  font-size:8px;
  outline:0;
}
.dn-manual-form textarea{
  padding-top:8px;
  resize:vertical;
}
.dn-manual-form .wide{grid-column:1/-1}
.dn-manual-form .dn-check{
  display:flex;
  align-items:center;
  gap:6px;
  align-self:end;
  min-height:38px;
}
.dn-check input{width:14px;height:14px;accent-color:#0b5944}
.dn-manual-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
}
.dn-manual-actions button{
  min-height:38px;
  padding:0 14px;
  border:0;
  border-radius:9px;
  background:#0b5140;
  color:#fff;
  font-size:7px;
  font-weight:900;
  cursor:pointer;
}
.dn-transactions{
  overflow:hidden;
  border:1px solid #e2dcd1;
  border-radius:15px;
  background:#fff;
}
.dn-section-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:15px 17px;
  border-bottom:1px solid #eee9df;
}
.dn-section-head h3{
  margin:3px 0 0;
  color:#22483b;
  font-family:Georgia,serif;
  font-size:17px;
  font-weight:400;
}
.dn-section-head>a{
  color:#80672f;
  font-size:7px;
  font-weight:900;
  text-decoration:none;
}
.dn-filters{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
  gap:8px;
  align-items:end;
  padding:11px 14px;
  border-bottom:1px solid #eee9df;
  background:#fbfaf7;
}
.dn-filters label{
  display:grid;
  gap:4px;
  color:#697872;
  font-size:6.5px;
  font-weight:900;
}
.dn-filters input,.dn-filters select{
  min-height:34px;
  padding:0 8px;
  border:1px solid #ddd6ca;
  border-radius:8px;
  background:#fff;
  color:#304f45;
  font-size:7.5px;
}
.dn-filters button{
  min-height:34px;
  padding:0 11px;
  border:0;
  border-radius:8px;
  background:#315b4e;
  color:#fff;
  font-size:7px;
  font-weight:900;
  cursor:pointer;
}
.dn-table-wrap{overflow:auto}
.dn-table{
  width:100%;
  border-collapse:collapse;
  min-width:760px;
}
.dn-table th{
  padding:9px 11px;
  border-bottom:1px solid #ece6dc;
  background:#faf8f3;
  color:#7a847f;
  font-size:6.5px;
  font-weight:900;
  text-align:left;
  letter-spacing:.04em;
}
.dn-table td{
  padding:10px 11px;
  border-bottom:1px solid #f0ece4;
  color:#54665e;
  font-size:7.5px;
  vertical-align:middle;
}
.dn-table tr:last-child td{border-bottom:0}
.dn-table td b,.dn-table td small{display:block}
.dn-table td b{color:#345248;font-size:8px}
.dn-table td small{margin-top:2px;color:#98a09c;font-size:6.3px}
.dn-table td.amount{
  color:#17493a;
  font-size:8px;
  font-weight:900;
  white-space:nowrap;
}
.dn-table td.empty{
  padding:24px;
  color:#909894;
  text-align:center;
}
.dn-status{
  display:inline-flex;
  padding:5px 7px;
  border-radius:999px;
  font-size:6px;
  font-weight:900;
}
.dn-status.paid{background:#edf5f0;color:#2c6c51}
.dn-status.pending{background:#fff4df;color:#987027}
.dn-status.failed,.dn-status.cancelled{background:#fff0ed;color:#985449}
.dn-status.expired{background:#f0f0ee;color:#737c77}

@media(max-width:850px){
  .dn-hero{align-items:flex-start;flex-direction:column}
  .dn-stats{grid-template-columns:1fr}
  .dn-manual-form{grid-template-columns:1fr 1fr}
  .dn-filters{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .dn-manual-form,.dn-filters{grid-template-columns:1fr}
  .dn-manual-form .wide{grid-column:auto}
  .dn-manual-actions{grid-column:auto}
  .dn-manual-actions button{width:100%}
}


/* =========================================================
   V3.7.42 — KHATAMAN RANGE CORRECTION
   ========================================================= */
.km-range-correction{
  overflow:hidden;
  border:1px solid #ded5c4;
  border-radius:12px;
  background:#fbfaf6;
}
.km-range-correction>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 13px;
  cursor:pointer;
  list-style:none;
}
.km-range-correction>summary::-webkit-details-marker{display:none}
.km-range-correction>summary span b,
.km-range-correction>summary span small{
  display:block;
}
.km-range-correction>summary span b{
  color:#29483e;
  font-size:9px;
}
.km-range-correction>summary span small{
  margin-top:3px;
  color:#806a38;
  font-size:8px;
}
.km-range-correction>summary em{
  color:#8a918d;
  font-size:7px;
  font-style:normal;
}
.km-range-correction-grid{
  display:grid;
  grid-template-columns:1fr .55fr 1fr .55fr;
  gap:8px;
  padding:13px;
  border-top:1px solid #ece6db;
  background:#fff;
}
.km-range-correction-grid label{
  display:grid;
  gap:5px;
}
.km-range-correction-grid label span{
  margin:0!important;
  color:#69776f!important;
  font-size:7px!important;
}
.km-range-correction-grid select,
.km-range-correction-grid input{
  width:100%;
  min-height:37px;
  padding:0 8px;
  border:1px solid #ddd6ca;
  border-radius:8px;
  background:#fff;
  color:#304b42;
  font-size:8px;
}
.km-range-correction>p{
  margin:0;
  padding:0 13px 13px;
  color:#818a85;
  font-size:7px;
  line-height:1.5;
}
@media(max-width:700px){
  .km-range-correction-grid{
    grid-template-columns:1fr 1fr;
  }
}


/* =========================================================
   V3.7.48 — DONATION CAMPAIGN MANAGER
   ========================================================= */
.dn-campaign-manager{
  margin-top:18px;
  padding:18px;
  border:1px solid #e4ddcf;
  border-radius:16px;
  background:#fffdfa;
  box-shadow:0 10px 28px rgba(33,72,59,.055);
}
.dn-campaign-head{
  align-items:flex-start!important;
}
.dn-campaign-head p{
  max-width:620px;
  margin:6px 0 0;
  color:#718078;
  font-size:10px;
  line-height:1.6;
}
.dn-campaign-add{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:39px;
  padding:0 13px;
  border-radius:9px;
  background:#0b5a45;
  color:#fff!important;
  font-size:9px;
  font-weight:850;
  text-decoration:none!important;
}
.dn-campaign-shortcodes{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.dn-campaign-shortcodes>div{
  padding:11px 12px;
  border:1px solid #e6dece;
  border-radius:10px;
  background:#f9f6ee;
}
.dn-campaign-shortcodes small,
.dn-campaign-shortcodes code{
  display:block;
}
.dn-campaign-shortcodes small{
  color:#8b743d;
  font-size:7px;
  font-weight:900;
  letter-spacing:.08em;
}
.dn-campaign-shortcodes code{
  margin-top:4px;
  color:#29483e;
  font-size:9px;
  white-space:normal;
}
.dn-campaign-admin-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.dn-campaign-admin-card{
  display:grid;
  grid-template-columns:118px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:10px;
  border:1px solid #e7e0d5;
  border-radius:13px;
  background:#fff;
}
.dn-campaign-admin-photo{
  height:86px;
  overflow:hidden;
  border-radius:9px;
  background:#eef0ed;
}
.dn-campaign-admin-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.dn-campaign-admin-copy{
  min-width:0;
}
.dn-campaign-badges{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.dn-campaign-badges span{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 7px;
  border-radius:999px;
  font-size:7px;
  font-weight:850;
}
.dn-campaign-badges .position.utama{
  background:#e8f2ed;
  color:#0b5a45;
}
.dn-campaign-badges .position.tambahan{
  background:#f3eee1;
  color:#81672f;
}
.dn-campaign-badges .status.active{
  background:#e7f4ed;
  color:#187253;
}
.dn-campaign-badges .status.draft{
  background:#f0f1f0;
  color:#68736e;
}
.dn-campaign-badges .status.archive{
  background:#f2e9e5;
  color:#8b5e4d;
}
.dn-campaign-badges .status.scheduled{
  background:#eee8f4;
  color:#715785;
}
.dn-campaign-admin-copy h4{
  margin:7px 0 0;
  color:#29483e;
  font-size:12px;
  line-height:1.35;
}
.dn-campaign-admin-copy p{
  margin:4px 0 0;
  color:#75817b;
  font-size:8px;
  line-height:1.5;
}
.dn-campaign-admin-meta{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  align-items:center;
  margin-top:7px;
}
.dn-campaign-admin-meta span{
  color:#89928d;
  font-size:7px;
}
.dn-campaign-admin-meta code{
  color:#7d6939;
  font-size:7px;
}
.dn-campaign-admin-actions{
  display:grid;
  gap:6px;
}
.dn-campaign-admin-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:66px;
  min-height:31px;
  padding:0 8px;
  border:1px solid #dcd5c9;
  border-radius:8px;
  background:#fff;
  color:#4d625a!important;
  font-size:8px;
  font-weight:800;
  text-decoration:none!important;
}
.dn-campaign-admin-actions a:first-child{
  border-color:#c5b47f;
  background:#f8f4e8;
  color:#775e29!important;
}
.dn-campaign-editor{
  margin-top:16px;
  overflow:hidden;
  border:1px solid #d9ccb0;
  border-radius:14px;
  background:#fff;
}
.dn-campaign-editor-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 16px;
  background:linear-gradient(135deg,#0b5a45,#084535);
}
.dn-campaign-editor-head small,
.dn-campaign-editor-head h4{
  display:block;
  margin:0;
}
.dn-campaign-editor-head small{
  color:#d9bd75;
  font-size:7px;
  font-weight:900;
  letter-spacing:.1em;
}
.dn-campaign-editor-head h4{
  margin-top:4px;
  color:#fff;
  font-size:14px;
}
.dn-campaign-editor-head>a{
  color:#fff!important;
  font-size:8px;
  font-weight:800;
  text-decoration:none!important;
}
.dn-campaign-form{
  padding:16px;
}
.dn-campaign-photo-field{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:14px;
  align-items:center;
  padding-bottom:16px;
  border-bottom:1px solid #ebe5da;
}
.dn-campaign-photo-preview{
  height:120px;
  overflow:hidden;
  border:1px solid #e0d8ca;
  border-radius:10px;
  background:#f2f2ee;
}
.dn-campaign-photo-preview img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.dn-campaign-photo-field label,
.dn-campaign-form-grid label{
  display:grid;
  gap:6px;
}
.dn-campaign-photo-field label>span,
.dn-campaign-form-grid label>span{
  color:#5d6e66;
  font-size:8px;
  font-weight:800;
}
.dn-campaign-photo-field input[type=file]{
  width:100%;
  min-height:39px;
  padding:7px;
  border:1px solid #ddd5c8;
  border-radius:8px;
  background:#fff;
  color:#5e6e67;
  font-size:8px;
}
.dn-campaign-photo-field small,
.dn-campaign-form-grid label>small{
  color:#89928d;
  font-size:7px;
  line-height:1.45;
}
.dn-campaign-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:15px;
}
.dn-campaign-form-grid .wide{
  grid-column:1/-1;
}
.dn-campaign-form-grid input[type=text],
.dn-campaign-form-grid input[type=number],
.dn-campaign-form-grid input[type=date],
.dn-campaign-form-grid select,
.dn-campaign-form-grid textarea{
  width:100%;
  min-height:41px;
  padding:8px 10px;
  border:1px solid #ddd5c8;
  border-radius:8px;
  background:#fff;
  color:#29483e;
  font-size:9px;
  box-shadow:none;
}
.dn-campaign-form-grid textarea{
  min-height:88px;
  resize:vertical;
}
.dn-campaign-toggle{
  display:flex!important;
  grid-template-columns:none!important;
  flex-direction:row;
  align-items:center;
  gap:8px!important;
  min-height:42px;
  padding:10px 12px;
  border:1px solid #e4ddcf;
  border-radius:9px;
  background:#faf8f2;
}
.dn-campaign-toggle input{
  width:16px;
  height:16px;
  margin:0;
}
.dn-campaign-toggle span{
  font-size:8px!important;
}
.dn-campaign-shortcode-one{
  margin-top:13px;
  padding:10px 12px;
  border:1px solid #e4ddcf;
  border-radius:9px;
  background:#f9f6ee;
}
.dn-campaign-shortcode-one small,
.dn-campaign-shortcode-one code{
  display:block;
}
.dn-campaign-shortcode-one small{
  color:#8b743d;
  font-size:7px;
  font-weight:900;
}
.dn-campaign-shortcode-one code{
  margin-top:4px;
  color:#29483e;
  font-size:8px;
}
.dn-campaign-form-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  margin-top:15px;
  padding-top:14px;
  border-top:1px solid #ebe5da;
}
.dn-campaign-form-actions a,
.dn-campaign-form-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:39px;
  padding:0 14px;
  border-radius:8px;
  font-size:8px;
  font-weight:850;
  text-decoration:none!important;
}
.dn-campaign-form-actions a{
  border:1px solid #ddd5c8;
  background:#fff;
  color:#62736b!important;
}
.dn-campaign-form-actions button{
  border:0;
  background:#0b5a45;
  color:#fff;
  cursor:pointer;
}

@media(max-width:760px){
  .dn-campaign-manager{
    padding:13px;
  }
  .dn-campaign-head{
    display:grid!important;
    gap:10px;
  }
  .dn-campaign-add{
    width:100%;
  }
  .dn-campaign-shortcodes{
    grid-template-columns:1fr;
  }
  .dn-campaign-admin-card{
    grid-template-columns:92px minmax(0,1fr);
  }
  .dn-campaign-admin-photo{
    height:86px;
  }
  .dn-campaign-admin-actions{
    grid-column:1/-1;
    grid-template-columns:repeat(2,1fr);
  }
  .dn-campaign-photo-field{
    grid-template-columns:1fr;
  }
  .dn-campaign-photo-preview{
    height:180px;
  }
  .dn-campaign-form-grid{
    grid-template-columns:1fr;
  }
  .dn-campaign-form-grid .wide{
    grid-column:auto;
  }
}


/* =========================================================
   V3.7.49 — DONASI AS A MODULE WITH SEPARATE PAGES
   Dashboard · Data Donasi · Campaign · Donatur · Laporan
   ========================================================= */
.dn-module-nav{
  display:flex;
  gap:6px;
  margin:10px 0 16px;
  padding:5px;
  overflow-x:auto;
  border:1px solid #e6dfd2;
  border-radius:12px;
  background:#fbf9f4;
  scrollbar-width:none;
}
.dn-module-nav::-webkit-scrollbar{display:none}
.dn-module-nav a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:8px;
  color:#66756e!important;
  font-size:8px;
  font-weight:850;
  text-decoration:none!important;
  white-space:nowrap;
}
.dn-module-nav a:hover{
  background:#f1eee5;
  color:#29483e!important;
}
.dn-module-nav a.active{
  background:#0b5a45;
  color:#fff!important;
  box-shadow:0 5px 14px rgba(11,90,69,.15);
}

.dn-page-intro{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
  padding:19px 20px;
  border:1px solid #e5ddcf;
  border-radius:15px;
  background:linear-gradient(135deg,#fffdfa,#f7f3e9);
}
.dn-page-intro h2{
  margin:5px 0 0;
  color:#29483e;
  font-size:20px;
  line-height:1.22;
}
.dn-page-intro p{
  max-width:680px;
  margin:7px 0 0;
  color:#748079;
  font-size:9px;
  line-height:1.65;
}
.dn-page-intro>a{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:39px;
  padding:0 13px;
  border:1px solid #c7b57f;
  border-radius:9px;
  background:#f8f4e8;
  color:#765f2b!important;
  font-size:8px;
  font-weight:850;
  text-decoration:none!important;
}

.dn-branch-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:14px;
}
.dn-branch-grid>a{
  position:relative;
  min-height:142px;
  padding:17px;
  overflow:hidden;
  border:1px solid #e4ddcf;
  border-radius:14px;
  background:#fff;
  color:inherit!important;
  text-decoration:none!important;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.dn-branch-grid>a:hover{
  transform:translateY(-2px);
  border-color:#cbbd98;
  box-shadow:0 10px 26px rgba(32,71,58,.07);
}
.dn-branch-grid small{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:27px;
  height:27px;
  border-radius:8px;
  background:#f2eee2;
  color:#8a7138;
  font-size:8px;
  font-weight:900;
}
.dn-branch-grid h3{
  margin:10px 0 0;
  color:#29483e;
  font-size:14px;
}
.dn-branch-grid p{
  margin:5px 0 23px;
  color:#7c8882;
  font-size:8px;
  line-height:1.55;
}
.dn-branch-grid span{
  position:absolute;
  left:17px;
  bottom:15px;
  color:#0b5a45;
  font-size:8px;
  font-weight:850;
}

.dn-dashboard-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:12px;
}
.dn-dashboard-strip>div{
  padding:12px 13px;
  border:1px solid #e5dfd4;
  border-radius:11px;
  background:#faf8f3;
}
.dn-dashboard-strip small,
.dn-dashboard-strip b{
  display:block;
}
.dn-dashboard-strip small{
  color:#8e8170;
  font-size:7px;
  font-weight:850;
  letter-spacing:.06em;
}
.dn-dashboard-strip b{
  margin-top:4px;
  color:#29483e;
  font-size:15px;
}
.dn-dashboard-recent{
  margin-top:14px;
}

.dn-campaign-manager-page{
  margin-top:12px;
}
.dn-campaign-page-intro{
  margin-bottom:0;
}

.dn-donor-list,
.dn-report-campaigns{
  margin-top:15px;
  padding:16px;
  border:1px solid #e4ddcf;
  border-radius:14px;
  background:#fff;
}
.dn-donor-count{
  display:inline-flex;
  min-width:34px;
  min-height:26px;
  align-items:center;
  justify-content:center;
  padding:0 8px;
  border-radius:999px;
  background:#eaf3ef;
  color:#0b5a45;
  font-size:8px;
  font-weight:900;
}

.dn-report-filter{
  display:flex;
  align-items:flex-end;
  gap:9px;
  margin:0 0 12px;
  padding:12px;
  border:1px solid #e5dfd4;
  border-radius:11px;
  background:#fff;
}
.dn-report-filter label{
  display:grid;
  gap:5px;
}
.dn-report-filter label span{
  color:#687770;
  font-size:8px;
  font-weight:800;
}
.dn-report-filter input{
  min-height:38px;
  padding:7px 9px;
  border:1px solid #dcd5c9;
  border-radius:8px;
  background:#fff;
  color:#29483e;
  font-size:9px;
}
.dn-report-filter button{
  min-height:38px;
  padding:0 13px;
  border:0;
  border-radius:8px;
  background:#0b5a45;
  color:#fff;
  font-size:8px;
  font-weight:850;
  cursor:pointer;
}
.dn-report-program-list{
  display:grid;
  gap:8px;
  margin-top:10px;
}
.dn-report-program-list article{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 13px;
  border:1px solid #e8e1d6;
  border-radius:10px;
  background:#fbfaf6;
}
.dn-report-program-list small{
  color:#8c978f;
  font-size:7px;
  font-weight:750;
}
.dn-report-program-list h4{
  margin:3px 0 0;
  color:#29483e;
  font-size:11px;
}
.dn-report-program-amount{
  text-align:right;
}
.dn-report-program-amount b,
.dn-report-program-amount span{
  display:block;
}
.dn-report-program-amount b{
  color:#0b5a45;
  font-size:11px;
}
.dn-report-program-amount span{
  margin-top:3px;
  color:#8c978f;
  font-size:7px;
}
.dn-empty-panel{
  margin-top:10px;
  padding:18px;
  border:1px dashed #dcd4c7;
  border-radius:10px;
  background:#fbfaf7;
  color:#8b958f;
  font-size:9px;
  text-align:center;
}
.dn-report-note{
  display:flex;
  align-items:center;
  gap:17px;
  margin-top:12px;
  padding:13px 15px;
  border:1px solid #e5dfd3;
  border-radius:11px;
  background:#f9f6ee;
}
.dn-report-note small,
.dn-report-note b{
  display:block;
}
.dn-report-note small{
  color:#8b743d;
  font-size:7px;
  font-weight:900;
}
.dn-report-note b{
  margin-top:3px;
  color:#29483e;
  font-size:10px;
}
.dn-report-note p{
  margin:0;
  color:#7d8982;
  font-size:8px;
  line-height:1.55;
}

@media(max-width:760px){
  .dn-module-nav{
    margin-top:8px;
  }
  .dn-page-intro{
    display:grid;
    padding:15px;
  }
  .dn-page-intro h2{
    font-size:17px;
  }
  .dn-page-intro>a{
    width:100%;
  }
  .dn-branch-grid{
    grid-template-columns:1fr;
  }
  .dn-dashboard-strip{
    grid-template-columns:1fr;
  }
  .dn-report-filter{
    display:grid;
  }
  .dn-report-filter button{
    width:100%;
  }
  .dn-report-program-list article{
    display:grid;
  }
  .dn-report-program-amount{
    text-align:left;
  }
  .dn-report-note{
    display:grid;
  }
}


/* =========================================================
   V3.7.50 — DONASI TYPOGRAPHY COMFORT UPGRADE
   Nyaman dibaca, tetap ringkas dan tidak berlebihan.
   ========================================================= */
.dn-module-nav a{min-height:38px;padding:0 14px;font-size:11px}

.dn-page-intro{padding:21px 22px}
.dn-page-intro h2,.dn-dashboard-hero h2{font-size:24px;line-height:1.25}
.dn-page-intro p,.dn-dashboard-hero p{font-size:13px;line-height:1.7}
.dn-page-intro>a,.dn-dashboard-hero>a{min-height:41px;padding:0 15px;font-size:11px}

.dn-page-intro .ahsim-kicker,
.dn-dashboard-hero .ahsim-kicker,
.dn-section-head .ahsim-kicker,
.dn-campaign-manager .ahsim-kicker{font-size:10px;letter-spacing:.08em}

.dn-branch-grid>a{min-height:154px;padding:19px}
.dn-branch-grid small{width:30px;height:30px;font-size:10px}
.dn-branch-grid h3{margin-top:11px;font-size:16px;line-height:1.3}
.dn-branch-grid p{margin-top:6px;margin-bottom:28px;font-size:12px;line-height:1.65}
.dn-branch-grid span{left:19px;bottom:17px;font-size:11px}

.dn-stats small{font-size:10px!important;letter-spacing:.05em}
.dn-stats strong{font-size:24px!important;line-height:1.2!important}
.dn-stats span{font-size:11px!important}
.dn-dashboard-strip small{font-size:9px}
.dn-dashboard-strip b{margin-top:6px;font-size:21px}

.dn-section-head h3{font-size:16px!important;line-height:1.3}
.dn-section-head>a{font-size:11px!important}

.dn-table{font-size:12px}
.dn-table th{font-size:10px!important;line-height:1.3}
.dn-table td{font-size:12px!important;line-height:1.5}
.dn-table td b{font-size:12px!important}
.dn-table td small{margin-top:3px;font-size:10px!important;line-height:1.4}
.dn-status{font-size:10px!important}

.dn-filters label,
.dn-manual-form label>span,
.dn-report-filter label span{font-size:11px!important}
.dn-filters input,.dn-filters select,
.dn-manual-form input,.dn-manual-form select,.dn-manual-form textarea,
.dn-report-filter input{font-size:12px!important}
.dn-filters button,.dn-manual-actions button,.dn-report-filter button{font-size:11px!important}
.dn-manual summary small{font-size:9px!important}
.dn-manual summary b{font-size:13px!important}

.dn-campaign-head p{font-size:12px;line-height:1.65}
.dn-campaign-add{min-height:41px;padding:0 15px;font-size:11px}
.dn-campaign-shortcodes small,.dn-campaign-shortcode-one small{font-size:9px}
.dn-campaign-shortcodes code,.dn-campaign-shortcode-one code{font-size:11px}
.dn-campaign-badges span{min-height:24px;padding:0 8px;font-size:9px}
.dn-campaign-admin-copy h4{font-size:14px;line-height:1.4}
.dn-campaign-admin-copy p{font-size:11px;line-height:1.6}
.dn-campaign-admin-meta span,.dn-campaign-admin-meta code{font-size:9px}
.dn-campaign-admin-actions a{min-height:34px;font-size:10px}

.dn-campaign-editor-head small{font-size:9px}
.dn-campaign-editor-head h4{font-size:16px}
.dn-campaign-editor-head>a{font-size:10px}
.dn-campaign-photo-field label>span,.dn-campaign-form-grid label>span{font-size:11px}
.dn-campaign-photo-field small,.dn-campaign-form-grid label>small{font-size:9px;line-height:1.5}
.dn-campaign-photo-field input[type=file],
.dn-campaign-form-grid input[type=text],
.dn-campaign-form-grid input[type=number],
.dn-campaign-form-grid input[type=date],
.dn-campaign-form-grid select,
.dn-campaign-form-grid textarea{font-size:12px}
.dn-campaign-toggle span{font-size:11px!important}
.dn-campaign-form-actions a,.dn-campaign-form-actions button{min-height:41px;padding:0 15px;font-size:11px}

.dn-donor-count{min-height:28px;font-size:11px}

.dn-report-program-list small{font-size:9px}
.dn-report-program-list h4{font-size:13px}
.dn-report-program-amount b{font-size:14px}
.dn-report-program-amount span{font-size:9px}
.dn-empty-panel{font-size:11px}
.dn-report-note small{font-size:9px}
.dn-report-note b{font-size:12px}
.dn-report-note p{font-size:11px;line-height:1.6}

@media(max-width:760px){
  .dn-module-nav a{min-height:37px;padding:0 12px;font-size:10px}
  .dn-page-intro{padding:16px}
  .dn-page-intro h2,.dn-dashboard-hero h2{font-size:21px}
  .dn-page-intro p,.dn-dashboard-hero p{font-size:12.5px}
  .dn-branch-grid h3{font-size:15px}
  .dn-branch-grid p{font-size:12px}
  .dn-stats strong{font-size:22px!important}
  .dn-table{font-size:11.5px}
  .dn-table th{font-size:9.5px!important}
  .dn-table td,.dn-table td b{font-size:11.5px!important}
  .dn-table td small{font-size:9.5px!important}
  .dn-campaign-admin-copy h4{font-size:13px}
  .dn-campaign-admin-copy p{font-size:10.5px}
}


/* =========================================================
   V3.7.51 — TRIPAY PAYMENT SETTINGS
   ========================================================= */
.dn-payment-status-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 14px;
}
.dn-payment-status-grid>div{
  padding:14px;
  border:1px solid #e4ddcf;
  border-radius:12px;
  background:#fff;
}
.dn-payment-status-grid small,
.dn-payment-status-grid b,
.dn-payment-status-grid span{
  display:block;
}
.dn-payment-status-grid small{
  color:#8b743d;
  font-size:9px;
  font-weight:900;
  letter-spacing:.06em;
}
.dn-payment-status-grid b{
  margin-top:5px;
  color:#29483e;
  font-size:16px;
}
.dn-payment-status-grid span{
  margin-top:3px;
  color:#829089;
  font-size:10px;
}

.dn-payment-callback,
.dn-payment-settings,
.dn-payment-last{
  margin-top:14px;
  padding:17px;
  border:1px solid #e4ddcf;
  border-radius:14px;
  background:#fff;
}
.dn-payment-ready{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:0 9px;
  border-radius:999px;
  background:#e8f3ee;
  color:#0b5a45;
  font-size:9px;
  font-weight:850;
}
.dn-payment-copy-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  margin-top:12px;
}
.dn-payment-copy-row input{
  width:100%;
  min-height:43px;
  padding:9px 11px;
  border:1px solid #d9d2c6;
  border-radius:9px;
  background:#f9f8f4;
  color:#29483e;
  font-size:12px;
}
.dn-payment-copy-row button{
  min-width:104px;
  min-height:43px;
  padding:0 14px;
  border:0;
  border-radius:9px;
  background:#0b5a45;
  color:#fff;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.dn-payment-callback>p{
  margin:9px 0 0;
  color:#7b8881;
  font-size:11px;
  line-height:1.6;
}

.dn-payment-security-note{
  display:grid;
  gap:3px;
  margin-top:11px;
  padding:11px 12px;
  border:1px solid #e4ddcf;
  border-radius:9px;
  background:#f9f6ee;
}
.dn-payment-security-note b{
  color:#29483e;
  font-size:11px;
}
.dn-payment-security-note span{
  color:#7d8982;
  font-size:10px;
  line-height:1.5;
}
.dn-payment-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:13px;
}
.dn-payment-form label{
  display:grid;
  gap:6px;
}
.dn-payment-form label>span{
  color:#5d6e66;
  font-size:11px;
  font-weight:800;
}
.dn-payment-form input,
.dn-payment-form select{
  width:100%;
  min-height:42px;
  padding:8px 10px;
  border:1px solid #ddd5c8;
  border-radius:8px;
  background:#fff;
  color:#29483e;
  font-size:12px;
}
.dn-payment-form label>small{
  color:#89928d;
  font-size:9px;
  line-height:1.45;
}
.dn-payment-form-actions{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  padding-top:3px;
}
.dn-payment-form-actions button{
  min-height:41px;
  padding:0 15px;
  border:0;
  border-radius:8px;
  background:#0b5a45;
  color:#fff;
  font-size:11px;
  font-weight:850;
  cursor:pointer;
}
.dn-payment-last-row{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin-top:11px;
}
.dn-payment-last-row>div{
  padding:11px 12px;
  border:1px solid #e6dfd4;
  border-radius:9px;
  background:#fbfaf6;
}
.dn-payment-last-row small,
.dn-payment-last-row b{
  display:block;
}
.dn-payment-last-row small{
  color:#8b743d;
  font-size:8px;
  font-weight:900;
}
.dn-payment-last-row b{
  margin-top:4px;
  color:#29483e;
  font-size:11px;
  word-break:break-word;
}
.dn-payment-stage-note{
  margin-top:12px;
  padding:13px 15px;
  border:1px solid #dce7e1;
  border-radius:11px;
  background:#f3f8f5;
}
.dn-payment-stage-note b{
  color:#0b5a45;
  font-size:11px;
}
.dn-payment-stage-note p{
  margin:4px 0 0;
  color:#687a71;
  font-size:10px;
  line-height:1.6;
}
.dn-status.refunded{
  background:#eee8f3!important;
  color:#715785!important;
}

@media(max-width:760px){
  .dn-payment-status-grid{
    grid-template-columns:1fr;
  }
  .dn-payment-copy-row{
    grid-template-columns:1fr;
  }
  .dn-payment-copy-row button{
    width:100%;
  }
  .dn-payment-form{
    grid-template-columns:1fr;
  }
  .dn-payment-form-actions{
    grid-column:auto;
  }
  .dn-payment-form-actions button{
    width:100%;
  }
  .dn-payment-last-row{
    grid-template-columns:1fr;
  }
}


/* V3.7.52 — MIDTRANS ENABLE SWITCH */
.dn-payment-enable{
  grid-column:1/-1;
  display:flex!important;
  grid-template-columns:none!important;
  flex-direction:row!important;
  align-items:flex-start;
  gap:10px!important;
  min-height:58px;
  padding:12px 13px;
  border:1px solid #dfe7e2;
  border-radius:10px;
  background:#f4f8f6;
}
.dn-payment-enable>input{
  width:17px!important;
  height:17px!important;
  min-height:0!important;
  margin:2px 0 0!important;
  flex:0 0 auto;
}
.dn-payment-enable>span{
  display:grid;
  gap:3px;
}
.dn-payment-enable b{
  color:#29483e;
  font-size:11px;
}
.dn-payment-enable small{
  color:#718078!important;
  font-size:9px!important;
  line-height:1.5!important;
}
@media(max-width:760px){
  .dn-payment-enable{grid-column:auto}
}


/* =========================================================
   V3.7.54 — DONASI PORTAL LAYOUT REVIEW
   Proporsi kartu dirapikan satu per satu tanpa mengubah flow.
   ========================================================= */

/* Dashboard: 5 branch cards = 3 balanced on first row, 2 balanced below. */
.dn-branch-grid{
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  align-items:stretch;
}
.dn-branch-grid>a{
  grid-column:span 2;
  display:flex;
  flex-direction:column;
  min-height:172px!important;
  padding:19px!important;
}
.dn-branch-grid>a:nth-child(4),
.dn-branch-grid>a:nth-child(5){
  grid-column:span 3;
}
.dn-branch-grid p{
  margin-bottom:14px!important;
}
.dn-branch-grid span{
  position:static!important;
  margin-top:auto;
  padding-top:8px;
}

/* Primary stat cards: same visual height and vertical rhythm everywhere. */
.dn-stats{
  align-items:stretch;
}
.dn-stats>div{
  display:flex;
  min-height:112px;
  flex-direction:column;
  justify-content:center;
  padding:16px 17px!important;
}
.dn-stats strong{
  margin-top:7px!important;
}
.dn-stats span{
  margin-top:4px!important;
}

/* Dashboard secondary summary: compact but equal. */
.dn-dashboard-strip{
  align-items:stretch;
}
.dn-dashboard-strip>div{
  display:flex;
  min-height:82px;
  flex-direction:column;
  justify-content:center;
  padding:13px 14px!important;
}

/* Sections should not feel like tall nested cards. */
.dn-page-intro{
  min-height:0;
}
.dn-transactions,
.dn-donor-list,
.dn-report-campaigns,
.dn-payment-callback,
.dn-payment-settings,
.dn-payment-last,
.dn-campaign-manager{
  box-shadow:0 7px 20px rgba(32,71,58,.035);
}

/* Data Donasi row actions. */
.dn-table th:last-child,
.dn-table td.dn-row-action{
  text-align:center;
}
.dn-row-action{
  width:112px;
  white-space:nowrap;
}
.dn-row-action form{
  margin:0;
}
.dn-row-action button{
  min-height:31px;
  padding:0 9px;
  border:1px solid #e1cfc8;
  border-radius:7px;
  background:#fff7f4;
  color:#8a4c3e;
  font-size:9px;
  font-weight:850;
  cursor:pointer;
}
.dn-row-action button:hover{
  border-color:#cfaa9d;
  background:#fff0eb;
}
.dn-row-action>span{
  color:#adb4b0;
}
.dn-sandbox-label{
  display:inline-flex!important;
  width:max-content;
  margin-top:5px!important;
  padding:3px 6px;
  border-radius:999px;
  background:#edf1f7;
  color:#60728a!important;
  font-size:8px!important;
  font-weight:800;
}

/* Campaign list: avoid unnecessarily tall rows. */
.dn-campaign-admin-card{
  grid-template-columns:132px minmax(0,1fr) 84px!important;
  min-height:112px;
  align-items:stretch!important;
  padding:10px!important;
}
.dn-campaign-admin-photo{
  height:auto!important;
  min-height:92px;
}
.dn-campaign-admin-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:2px 0;
}
.dn-campaign-admin-meta{
  margin-top:auto!important;
  padding-top:7px;
}
.dn-campaign-admin-actions{
  align-content:center;
}

/* Campaign shortcode helper cards stay equal. */
.dn-campaign-shortcodes{
  align-items:stretch;
}
.dn-campaign-shortcodes>div{
  display:flex;
  min-height:70px;
  flex-direction:column;
  justify-content:center;
}

/* Donatur table/container: no unnecessary extra height. */
.dn-donor-list{
  padding:0!important;
  overflow:hidden;
}
.dn-donor-list .dn-section-head{
  margin:0;
}

/* Report rows: consistent, not oversized. */
.dn-report-program-list article{
  min-height:76px;
  padding:12px 14px!important;
}
.dn-report-note{
  min-height:72px;
}

/* Payment status cards balanced and compact. */
.dn-payment-status-grid{
  align-items:stretch;
}
.dn-payment-status-grid>div{
  display:flex;
  min-height:108px;
  flex-direction:column;
  justify-content:center;
  padding:15px!important;
}
.dn-payment-last-row{
  align-items:stretch;
}
.dn-payment-last-row>div{
  display:flex;
  min-height:70px;
  flex-direction:column;
  justify-content:center;
}

/* Manual entry remains a compact expandable block. */
.dn-manual>summary{
  min-height:58px;
}

/* Tablet: 2-column branch cards, last card full width for balance. */
@media(max-width:980px) and (min-width:601px){
  .dn-branch-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .dn-branch-grid>a,
  .dn-branch-grid>a:nth-child(4){
    grid-column:auto!important;
  }
  .dn-branch-grid>a:nth-child(5){
    grid-column:1/-1!important;
    min-height:145px!important;
  }
}

/* Mobile: natural single-column cards; do not force desktop heights. */
@media(max-width:600px){
  .dn-branch-grid{
    grid-template-columns:1fr!important;
  }
  .dn-branch-grid>a,
  .dn-branch-grid>a:nth-child(4),
  .dn-branch-grid>a:nth-child(5){
    grid-column:auto!important;
    min-height:148px!important;
  }
  .dn-stats>div{
    min-height:94px;
  }
  .dn-dashboard-strip>div{
    min-height:72px;
  }
  .dn-campaign-admin-card{
    grid-template-columns:92px minmax(0,1fr)!important;
    min-height:0;
  }
  .dn-campaign-admin-photo{
    min-height:88px;
  }
  .dn-campaign-admin-actions{
    grid-column:1/-1;
  }
  .dn-row-action{
    width:auto;
  }
}


/* =========================================================
   V3.7.55 — DASHBOARD DONASI CTA PRECISION
   ========================================================= */
.dn-dashboard-hero>a.dn-dashboard-public-cta{
  display:inline-flex!important;
  flex:0 0 auto;
  width:max-content;
  min-width:174px;
  min-height:42px;
  align-items:center!important;
  justify-content:center!important;
  gap:6px;
  padding:0 15px!important;
  box-sizing:border-box;
  white-space:nowrap;
  line-height:1!important;
  text-align:center;
  vertical-align:middle;
}
.dn-dashboard-public-cta>span{
  display:block;
  margin:0;
  padding:0;
  font-size:11px;
  font-weight:850;
  line-height:1!important;
}
.dn-dashboard-public-cta>i{
  display:inline-flex;
  width:13px;
  height:13px;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  font-size:11px;
  font-style:normal;
  font-weight:800;
  line-height:1!important;
  transform:translateY(-.25px);
}
@media(max-width:850px){
  .dn-dashboard-hero>a.dn-dashboard-public-cta{
    align-self:flex-start;
  }
}
@media(max-width:600px){
  .dn-dashboard-hero>a.dn-dashboard-public-cta{
    min-width:0;
    max-width:100%;
    min-height:42px;
    padding:0 14px!important;
  }
}


/* =========================================================
   V3.7.57 — JILID DAILY PICKER
   ========================================================= */
.jl-picker-labelrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.jl-picker-labelrow .jl-label{
  margin:0!important;
}
.jl-today-count{
  color:#7d8983;
  font-size:9px;
  font-weight:750;
  line-height:1.35;
  text-align:right;
}
.jl-all-done{
  display:block;
  margin-top:7px;
  color:#0a694f;
  font-size:10px;
  font-weight:800;
}
@media(max-width:600px){
  .jl-picker-labelrow{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .jl-today-count{
    text-align:left;
  }
}


/* =========================================================
   V3.7.58 — TILAWAH DAILY PICKER
   ========================================================= */
.tilawah-picker-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}
.tilawah-picker-head>.ahsim-kicker{
  margin:0!important;
}
.tilawah-picker-head>small{
  color:#7d8983;
  font-size:9px;
  font-weight:750;
  line-height:1.35;
  text-align:right;
}
.tilawah-all-done{
  display:block;
  margin-top:7px;
  color:#0a694f;
  font-size:10px;
  font-weight:800;
}
@media(max-width:600px){
  .tilawah-picker-head{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .tilawah-picker-head>small{
    text-align:left;
  }
}


/* =========================================================
   V3.7.59 — DATETIME CONTROL NORMALIZATION
   Berlaku di semua perangkat. Tinggi mengikuti kontrol lain
   pada masing-masing form, bukan breakpoint/device tertentu.
   ========================================================= */

/* JILID — sibling input/select = 43px */
.jl-fields input[type="datetime-local"][data-jilid-realtime]{
  display:block;
  width:100%;
  height:43px!important;
  min-height:43px!important;
  max-height:43px!important;
  margin-top:6px;
  padding:0 11px!important;
  box-sizing:border-box!important;
  line-height:normal!important;
  text-align:left!important;
  vertical-align:middle;
}

/* TILAWAH — sibling input/select = 42px */
.ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]{
  display:block;
  width:100%;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
  line-height:normal!important;
  text-align:left!important;
  vertical-align:middle;
}

/* Safari / iPadOS / iOS: buang extra internal height tanpa mematikan native picker. */
.jl-fields input[type="datetime-local"][data-jilid-realtime]::-webkit-date-and-time-value,
.ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]::-webkit-date-and-time-value{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  line-height:1.2!important;
}

.jl-fields input[type="datetime-local"][data-jilid-realtime]::-webkit-datetime-edit,
.ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]::-webkit-datetime-edit,
.jl-fields input[type="datetime-local"][data-jilid-realtime]::-webkit-datetime-edit-fields-wrapper,
.ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]::-webkit-datetime-edit-fields-wrapper{
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
}

/* Jangan ubah tinggi pada desktop/tablet/HP; responsive hanya mengatur susunan kolom. */
@media(max-width:1100px){
  .jl-fields input[type="datetime-local"][data-jilid-realtime]{height:43px!important;min-height:43px!important;max-height:43px!important}
  .ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]{height:42px!important;min-height:42px!important;max-height:42px!important}
}
@media(max-width:650px){
  .jl-fields input[type="datetime-local"][data-jilid-realtime]{height:43px!important;min-height:43px!important;max-height:43px!important}
  .ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]{height:42px!important;min-height:42px!important;max-height:42px!important}
}


/* =========================================================
   V3.7.60 — DATETIME PRECISION FIX
   Jilid + Tilawah
   ========================================================= */

/*
 * 1) Grid column must be allowed to shrink.
 * `1fr` alone can still respect the intrinsic min-width of
 * datetime-local on Safari and push the control into the gutter.
 */
.jl-fields{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.jl-fields>label,
.ahsim-khatam-form>label{
  min-width:0!important;
}

/*
 * 2) All controls use border-box so width:100% includes
 * padding + border and never crosses the column boundary.
 */
.jl-fields input,
.jl-fields select,
.jl-fields textarea,
.ahsim-khatam-form input,
.ahsim-khatam-form select,
.ahsim-khatam-form textarea{
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/*
 * 3) Jilid datetime: keep exactly the same outer height as its siblings.
 * Do not fake centering with a large line-height; center WebKit's inner
 * datetime wrappers instead.
 */
.jl-fields input[type="datetime-local"][data-jilid-realtime]{
  width:100%!important;
  height:43px!important;
  min-height:43px!important;
  max-height:43px!important;
  margin-top:6px!important;
  padding:0 11px!important;
  box-sizing:border-box!important;
  line-height:1.2!important;
  text-align:left!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:700!important;
}

/*
 * Safari / iPadOS / iOS inner wrappers.
 * Height 100% + flex alignment centers the visible value vertically.
 */
.jl-fields input[type="datetime-local"][data-jilid-realtime]::-webkit-date-and-time-value{
  display:flex!important;
  height:100%!important;
  min-height:100%!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  text-align:left!important;
}

.jl-fields input[type="datetime-local"][data-jilid-realtime]::-webkit-datetime-edit,
.jl-fields input[type="datetime-local"][data-jilid-realtime]::-webkit-datetime-edit-fields-wrapper{
  display:flex!important;
  height:100%!important;
  min-height:100%!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
}

/* Tilawah receives the same treatment, using its native 42px form height. */
.ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]{
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  max-height:42px!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
  line-height:1.2!important;
  text-align:left!important;
  font-family:inherit!important;
  font-weight:500!important;
}

.ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]::-webkit-date-and-time-value{
  display:flex!important;
  height:100%!important;
  min-height:100%!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  text-align:left!important;
}

.ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]::-webkit-datetime-edit,
.ahsim-khatam-form input[type="datetime-local"][data-tilawah-realtime]::-webkit-datetime-edit-fields-wrapper{
  display:flex!important;
  height:100%!important;
  min-height:100%!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
}

/* Mobile changes column count only, not control geometry. */
@media(max-width:650px){
  .jl-fields{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   V3.7.63 — FLEXIBLE DOCUMENT TITLE + PRINT EXCLUSIONS
   ========================================================= */
.ahsim-doc-upload-control{
  display:grid!important;
  grid-template-columns:minmax(210px,1fr) auto;
  align-items:center!important;
  gap:8px!important;
  width:min(520px,100%);
}
.ahsim-doc-upload-control>input[data-document-title]{
  width:100%;
  min-width:0;
  height:38px;
  padding:0 11px;
  border:1px solid #d9d1c1;
  border-radius:9px;
  box-sizing:border-box;
  background:#fff;
  color:#304b42;
  font-size:10px;
  outline:0;
}
.ahsim-doc-upload-control>input[data-document-title]:focus{
  border-color:#b69a5b;
  box-shadow:0 0 0 3px rgba(182,154,91,.10);
}
.ahsim-doc-upload-control>input[data-document-title]::placeholder{
  color:#969e99;
}

.ahsim-print-exclusion{
  margin-top:15px;
  overflow:hidden;
  border:1px solid #e2dbcf;
  border-radius:13px;
  background:#fbfaf7;
}
.ahsim-print-exclusion[hidden]{display:none!important}
.ahsim-print-exclusion>summary{
  display:flex;
  min-height:58px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 14px;
  list-style:none;
  cursor:pointer;
}
.ahsim-print-exclusion>summary::-webkit-details-marker{display:none}
.ahsim-print-exclusion>summary span{min-width:0}
.ahsim-print-exclusion>summary b{
  display:block;
  color:#28493e;
  font-size:11px;
  font-weight:850;
}
.ahsim-print-exclusion>summary small{
  display:block;
  margin-top:4px;
  color:#7e8b85;
  font-size:9px;
  line-height:1.4;
}
.ahsim-print-exclusion>summary>i{
  display:grid;
  place-items:center;
  flex:0 0 28px;
  width:28px;
  height:28px;
  border:1px solid #ddd2bc;
  border-radius:9px;
  background:#fff;
  color:#896c30;
  font-size:15px;
  font-style:normal;
}
.ahsim-print-exclusion[open]>summary{
  border-bottom:1px solid #ebe4d8;
}
.ahsim-print-exclusion-body{padding:13px 14px 14px}
.ahsim-print-exclusion-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin-bottom:11px;
}
.ahsim-print-exclusion-head>small{
  color:#6f7f77;
  font-size:9px;
  font-weight:800;
  white-space:nowrap;
}
.ahsim-print-exclusion-list{max-height:300px!important}
.ahsim-print-exclusion-list>label.is-selected{
  border-color:#c89c8d!important;
  background:#fff8f5!important;
  box-shadow:inset 3px 0 0 #9b5547,0 6px 16px rgba(112,63,51,.05)!important;
}
.ahsim-print-exclusion-list>label.is-selected>.ahsim-choice-box{
  border-color:#995749!important;
  background:#995749!important;
}
.ahsim-print-exclusion-body>p{
  margin:10px 0 0;
  color:#78867f;
  font-size:9px;
  line-height:1.5;
}

@media(max-width:700px){
  .ahsim-doc-upload-control{
    grid-template-columns:1fr!important;
    width:100%!important;
  }
  .ahsim-doc-upload-button{width:100%}
  .ahsim-print-exclusion-head{grid-template-columns:1fr}
  .ahsim-print-exclusion-head>small{white-space:normal}
}


/* =========================================================
   V3.7.64 — DOCUMENT ACTION BUTTON PRECISION
   ========================================================= */
.ahsim-doc-actions{
  display:flex;
  align-items:center;
  gap:6px;
}
.ahsim-doc-actions>a,
.ahsim-doc-actions>button{
  display:inline-flex!important;
  min-width:56px;
  height:32px!important;
  min-height:32px!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
  line-height:1!important;
  text-align:center!important;
  vertical-align:middle!important;
  white-space:nowrap;
}
.ahsim-doc-actions>a{
  text-decoration:none!important;
}
.ahsim-doc-actions>a>*,
.ahsim-doc-actions>button>*{
  line-height:1!important;
}


/* =========================================================
   V3.7.65 — DATA SANTRI STATUS FILTER + RESULT COUNT
   ========================================================= */
.ahsim-student-list-card .list-head{
  align-items:flex-start;
}
.ahsim-student-search{
  flex-wrap:wrap;
  justify-content:flex-end;
  max-width:760px;
}
.ahsim-student-search select[name="status_filter"]{
  width:145px;
}

.ahsim-student-result-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  min-height:48px;
  padding:9px 24px;
  border-top:1px solid #eee9df;
  border-bottom:1px solid #eee9df;
  background:#fbfaf7;
}
.ahsim-student-result-bar>div{
  display:flex;
  align-items:baseline;
  gap:7px;
  min-width:0;
}
.ahsim-student-result-bar strong{
  color:#0a5b45;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:20px;
  font-weight:400;
  line-height:1;
}
.ahsim-student-result-bar span{
  color:#53665e;
  font-size:9.5px;
  font-weight:800;
}
.ahsim-student-result-bar small{
  color:#849089;
  font-size:9px;
  font-weight:650;
  text-align:right;
}

@media(max-width:900px){
  .ahsim-student-list-card .list-head{
    display:block;
  }
  .ahsim-student-search{
    width:100%;
    max-width:none;
    margin-top:14px;
    justify-content:flex-start;
  }
}
@media(max-width:620px){
  .ahsim-student-search input,
  .ahsim-student-search select,
  .ahsim-student-search select[name="status_filter"],
  .ahsim-student-search button{
    width:100%!important;
  }
  .ahsim-student-result-bar{
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    padding:10px 16px;
  }
  .ahsim-student-result-bar small{
    text-align:left;
  }
}


/* =========================================================
   V3.7.67 — EDUCATION GLOBAL DAILY HISTORY
   ========================================================= */
.ahsim-edu-global-history{
  margin:16px 0 18px;
  overflow:hidden;
  border:1px solid #e1dbcf;
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 30px rgba(30,65,54,.055);
}
.ahsim-edu-global-history-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:17px 18px 14px;
  border-bottom:1px solid #eee8dd;
  background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
}
.ahsim-edu-global-history-head>div{min-width:0}
.ahsim-edu-global-history-head>div>span{
  display:block;
  margin-bottom:5px;
  color:#9a7a39;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.ahsim-edu-global-history-head h3{
  margin:0;
  color:#21483c;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:20px;
  font-weight:400;
}
.ahsim-edu-global-history-head p{
  margin:5px 0 0;
  color:#77847e;
  font-size:9.5px;
  line-height:1.55;
}
.ahsim-edu-history-date-form{
  display:flex;
  align-items:flex-end;
  gap:7px;
  flex:0 0 auto;
}
.ahsim-edu-history-date-form label{
  display:grid;
  gap:5px;
  color:#6d7d75;
  font-size:8px;
  font-weight:850;
}
.ahsim-edu-history-date-form input[type="date"]{
  width:145px;
  height:36px;
  min-width:0;
  padding:0 9px;
  box-sizing:border-box;
  border:1px solid #dcd5c8;
  border-radius:9px;
  background:#fff;
  color:#315247;
  font:inherit;
  font-size:9.5px;
}
.ahsim-edu-history-date-form button,
.ahsim-edu-history-date-form a{
  display:inline-flex;
  height:36px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  box-sizing:border-box;
  border:1px solid #155e49;
  border-radius:9px;
  background:#155e49;
  color:#fff;
  font-size:9px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.ahsim-edu-history-date-form a{
  border-color:#d8cfbd;
  background:#fff;
  color:#6f5b30;
}
.ahsim-edu-global-history-stats{
  display:flex;
  gap:0;
  padding:0 18px;
  border-bottom:1px solid #eee8dd;
  background:#fcfbf8;
}
.ahsim-edu-global-history-stats>div{
  display:flex;
  align-items:baseline;
  gap:6px;
  min-width:145px;
  padding:10px 18px 10px 0;
}
.ahsim-edu-global-history-stats>div+div{
  padding-left:18px;
  border-left:1px solid #ebe4d7;
}
.ahsim-edu-global-history-stats strong{
  color:#155e49;
  font-family:"DM Serif Display",Georgia,serif;
  font-size:20px;
  font-weight:400;
  line-height:1;
}
.ahsim-edu-global-history-stats span{
  color:#738079;
  font-size:8.5px;
  font-weight:800;
}
.ahsim-edu-global-history-list{
  max-height:430px;
  overflow:auto;
}
.ahsim-edu-global-history-row{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:13px;
  align-items:center;
  padding:12px 18px;
  border-bottom:1px solid #f0ece4;
}
.ahsim-edu-global-history-row:last-child{border-bottom:0}
.ahsim-edu-history-time{
  display:grid;
  gap:3px;
  justify-items:start;
}
.ahsim-edu-history-time b{
  color:#264c40;
  font-size:12px;
  line-height:1;
}
.ahsim-edu-history-time small{
  color:#929b96;
  font-size:8px;
}
.ahsim-edu-history-main{min-width:0}
.ahsim-edu-history-name{
  display:flex;
  align-items:baseline;
  gap:9px;
  min-width:0;
}
.ahsim-edu-history-name b{
  color:#263f37;
  font-size:10.5px;
  font-weight:850;
}
.ahsim-edu-history-name span{
  overflow:hidden;
  color:#5f7068;
  font-size:9px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ahsim-edu-history-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px 10px;
  margin-top:5px;
}
.ahsim-edu-history-meta>span{
  color:#849089;
  font-size:8px;
}
.ahsim-edu-history-meta>span:first-child{
  padding:3px 6px;
  border-radius:999px;
  background:#edf5f1;
  color:#2f6c59;
  font-weight:850;
}
.ahsim-edu-history-meta>span.is-mengulang,
.ahsim-edu-history-meta>span.is-belum{
  background:#fff5e6;
  color:#95651f;
}
.ahsim-edu-history-meta>span.is-berhalangan{
  background:#f3f1ee;
  color:#746e66;
}
.ahsim-edu-history-main>p{
  margin:6px 0 0;
  color:#6e7b75;
  font-size:8.5px;
  line-height:1.5;
}
.ahsim-edu-history-action a{
  display:inline-flex;
  height:31px;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid #d8cfbd;
  border-radius:8px;
  background:#fff;
  color:#6f5b30;
  font-size:8.5px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.ahsim-edu-global-history-empty{
  padding:23px 18px;
  color:#87918c;
  font-size:9.5px;
  text-align:center;
}
@media(max-width:760px){
  .ahsim-edu-global-history-head{
    align-items:stretch;
    flex-direction:column;
  }
  .ahsim-edu-history-date-form{
    align-items:flex-end;
    flex-wrap:wrap;
  }
  .ahsim-edu-global-history-row{
    grid-template-columns:52px minmax(0,1fr);
  }
  .ahsim-edu-history-action{
    grid-column:2;
  }
  .ahsim-edu-history-name{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
  .ahsim-edu-history-name span{white-space:normal}
}
@media(max-width:480px){
  .ahsim-edu-history-date-form label{width:100%}
  .ahsim-edu-history-date-form input[type="date"]{width:100%}
  .ahsim-edu-global-history-stats>div{min-width:0;flex:1}
}


/* =========================================================
   V3.7.68 — EDUCATION DAILY HISTORY TABLE / COLLAPSE / PRINT
   ========================================================= */
.ahsim-edu-global-history{
  margin:16px 0 18px;
  overflow:hidden;
  border:1px solid #e1dbcf;
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 30px rgba(30,65,54,.05);
}
.ahsim-edu-global-history-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:16px 18px;
  border-bottom:1px solid #eee8dd;
  background:linear-gradient(180deg,#fff 0%,#fbfaf6 100%);
}
.ahsim-edu-global-history-title{min-width:0}
.ahsim-edu-global-history-title>span{
  display:block;
  margin-bottom:5px;
  color:#9a7a39;
  font-size:8px;
  font-weight:900;
  letter-spacing:.12em;
}
.ahsim-edu-global-history-title h3{
  margin:0;
  color:#21483c;
  font-family:Georgia,"Times New Roman",serif;
  font-size:20px;
  font-weight:400;
}
.ahsim-edu-global-history-title p{
  margin:5px 0 0;
  color:#77847e;
  font-size:9.5px;
  line-height:1.5;
}
.ahsim-edu-global-history-tools{
  display:flex;
  align-items:flex-end;
  gap:8px;
  flex:0 0 auto;
}
.ahsim-edu-history-print{
  display:inline-flex;
  width:38px;
  height:36px;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0;
  border:1px solid #d6c9ad;
  border-radius:9px;
  background:#fffdf8;
  color:#755d2d;
  cursor:pointer;
}
.ahsim-edu-history-print svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ahsim-edu-history-print>span{display:none}
.ahsim-edu-history-print:hover{background:#f8f2e6}
.ahsim-edu-history-date-form{
  display:flex;
  align-items:flex-end;
  gap:7px;
}
.ahsim-edu-history-date-form label{
  display:grid;
  gap:5px;
  color:#6d7d75;
  font-size:8px;
  font-weight:850;
}
.ahsim-edu-history-date-form input[type="date"]{
  width:145px;
  height:36px;
  min-width:0;
  padding:0 9px;
  box-sizing:border-box;
  border:1px solid #dcd5c8;
  border-radius:9px;
  background:#fff;
  color:#315247;
  font:inherit;
  font-size:9.5px;
}
.ahsim-edu-history-date-form button,
.ahsim-edu-history-date-form a{
  display:inline-flex;
  height:36px;
  align-items:center;
  justify-content:center;
  padding:0 12px;
  box-sizing:border-box;
  border:1px solid #155e49;
  border-radius:9px;
  background:#155e49;
  color:#fff;
  font-size:9px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.ahsim-edu-history-date-form a{
  border-color:#d8cfbd;
  background:#fff;
  color:#6f5b30;
}
.ahsim-edu-print-heading{display:none}
.ahsim-edu-global-history-details>summary{
  display:flex;
  min-height:54px;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:10px 18px;
  list-style:none;
  cursor:pointer;
  user-select:none;
  background:#fcfbf8;
}
.ahsim-edu-global-history-details>summary::-webkit-details-marker{display:none}
.ahsim-edu-history-summary-copy b{
  display:block;
  color:#2e5045;
  font-size:10px;
}
.ahsim-edu-history-summary-copy small{
  display:block;
  margin-top:3px;
  color:#859089;
  font-size:8.5px;
}
.ahsim-edu-history-summary-icon{
  display:grid;
  width:28px;
  height:28px;
  place-items:center;
  border:1px solid #ddd5c6;
  border-radius:8px;
  background:#fff;
  color:#796537;
}
.ahsim-edu-history-summary-icon svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease;
}
.ahsim-edu-global-history-details[open] .ahsim-edu-history-summary-icon svg{
  transform:rotate(180deg);
}
.ahsim-edu-global-history-table-wrap{
  max-height:470px;
  overflow:auto;
  border-top:1px solid #eee8dd;
}
.ahsim-edu-global-history-table{
  width:100%;
  min-width:820px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:auto;
}
.ahsim-edu-global-history-table th{
  position:sticky;
  top:0;
  z-index:2;
  padding:9px 10px;
  border-bottom:1px solid #ded6c8;
  background:#f5f2eb;
  color:#596c63;
  font-size:8px;
  font-weight:900;
  letter-spacing:.035em;
  text-align:left;
  white-space:nowrap;
}
.ahsim-edu-global-history-table td{
  padding:10px;
  border-bottom:1px solid #f0ece4;
  color:#52655c;
  font-size:8.7px;
  line-height:1.45;
  vertical-align:top;
}
.ahsim-edu-global-history-table tbody tr:last-child td{border-bottom:0}
.ahsim-edu-global-history-table tbody tr:hover td{background:#fffdf9}
.ahsim-edu-global-history-table td.is-number{width:36px;color:#9a9387;text-align:center}
.ahsim-edu-global-history-table td.is-time{width:62px;color:#325347;font-weight:850;white-space:nowrap}
.ahsim-edu-global-history-table td.is-name{min-width:140px;color:#263f37;font-weight:850}
.ahsim-edu-global-history-table td.is-note{min-width:160px;white-space:normal}
.ahsim-edu-global-history-table td.is-action{width:82px}
.ahsim-edu-global-history-table td.is-action a{
  display:inline-flex;
  height:29px;
  align-items:center;
  justify-content:center;
  padding:0 9px;
  border:1px solid #d8cfbd;
  border-radius:8px;
  background:#fff;
  color:#6f5b30;
  font-size:8px;
  font-weight:850;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.ahsim-edu-table-status{
  display:inline-flex;
  align-items:center;
  min-height:23px;
  padding:0 7px;
  border-radius:999px;
  background:#edf5f1;
  color:#2f6c59;
  font-size:7.8px;
  font-weight:900;
  white-space:nowrap;
}
.ahsim-edu-table-status.is-mengulang,
.ahsim-edu-table-status.is-belum,
.ahsim-edu-table-status.is-berhalangan{
  background:#fff5e6;
  color:#95651f;
}
.ahsim-edu-global-history-empty{
  padding:24px 18px;
  color:#87918c;
  font-size:9.5px;
  text-align:center;
}

@media(max-width:900px){
  .ahsim-edu-global-history-head{align-items:stretch;flex-direction:column}
  .ahsim-edu-global-history-tools{align-items:flex-end;justify-content:space-between;flex-wrap:wrap}
}
@media(max-width:560px){
  .ahsim-edu-global-history-head{padding:14px}
  .ahsim-edu-global-history-tools{align-items:stretch}
  .ahsim-edu-history-print{width:36px;flex:0 0 36px}
  .ahsim-edu-history-date-form{flex:1;flex-wrap:wrap}
  .ahsim-edu-history-date-form label{width:100%}
  .ahsim-edu-history-date-form input[type="date"]{width:100%}
  .ahsim-edu-global-history-details>summary{padding:10px 14px}
}

@media print{
  body.ahsim-print-education-history *{
    visibility:hidden!important;
  }
  body.ahsim-print-education-history [data-edu-history-print-scope],
  body.ahsim-print-education-history [data-edu-history-print-scope] *{
    visibility:visible!important;
  }
  body.ahsim-print-education-history [data-edu-history-print-scope]{
    position:absolute!important;
    inset:0 auto auto 0!important;
    width:100%!important;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    box-shadow:none!important;
    background:#fff!important;
  }
  body.ahsim-print-education-history .ahsim-edu-global-history-head,
  body.ahsim-print-education-history .ahsim-edu-global-history-details>summary,
  body.ahsim-print-education-history .ahsim-edu-screen-only{
    display:none!important;
  }
  body.ahsim-print-education-history .ahsim-edu-print-heading{
    display:block!important;
    padding:0 0 14px;
    border-bottom:1px solid #777;
  }
  body.ahsim-print-education-history .ahsim-edu-print-heading strong{
    display:block;
    font-size:10pt;
  }
  body.ahsim-print-education-history .ahsim-edu-print-heading h2{
    margin:4px 0;
    font-family:Georgia,"Times New Roman",serif;
    font-size:17pt;
    font-weight:400;
  }
  body.ahsim-print-education-history .ahsim-edu-print-heading p{
    margin:0;
    font-size:9pt;
  }
  body.ahsim-print-education-history .ahsim-edu-global-history-details{
    display:block!important;
  }
  body.ahsim-print-education-history .ahsim-edu-global-history-table-wrap{
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
    border-top:0!important;
  }
  body.ahsim-print-education-history .ahsim-edu-global-history-table{
    min-width:0!important;
    width:100%!important;
    table-layout:auto!important;
    border-collapse:collapse!important;
  }
  body.ahsim-print-education-history .ahsim-edu-global-history-table th{
    position:static!important;
    padding:6px!important;
    border:1px solid #777!important;
    background:#eee!important;
    color:#111!important;
    font-size:7.5pt!important;
  }
  body.ahsim-print-education-history .ahsim-edu-global-history-table td{
    padding:6px!important;
    border:1px solid #999!important;
    color:#111!important;
    font-size:7.5pt!important;
    line-height:1.35!important;
  }
  body.ahsim-print-education-history .ahsim-edu-table-status{
    min-height:0!important;
    padding:0!important;
    background:transparent!important;
    color:#111!important;
    font-size:7.5pt!important;
  }
  @page{
    size:A4 landscape;
    margin:12mm;
  }
}


/* =========================================================
   V3.7.70 — DAILY HISTORY DEFAULT COLLAPSED
   ========================================================= */
.ahsim-edu-global-history-details:not([open])>summary{
  border-top:0;
}


/* =========================================================
   V3.7.72 — PRESTASI SANTRI
   ========================================================= */
.ahsim-detail-achievements{
  grid-column:1/-1;
  padding:0!important;
  overflow:hidden;
}
.ahsim-achievements-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 17px;
  border-bottom:1px solid #eee9df;
  background:linear-gradient(180deg,#fff,#fcfbf7);
}
.ahsim-achievements-head h3{
  margin:5px 0 4px;
  color:#173f34;
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:400;
}
.ahsim-achievements-head p{margin:0;color:#7b8781;font-size:9.5px;line-height:1.55}
.ahsim-achievements-count{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid #dfd4bb;
  border-radius:999px;
  background:#fffaf0;
  color:#80662f;
  font-size:8px;
  font-weight:900;
}
.ahsim-achievement-form-wrap{border-bottom:1px solid #eee9df;background:#fbfaf6}
.ahsim-achievement-form-wrap>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:48px;
  padding:0 22px;
  list-style:none;
  color:#2d5849;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.ahsim-achievement-form-wrap>summary::-webkit-details-marker{display:none}
.ahsim-achievement-form-wrap>summary i{font-style:normal;font-size:17px;transition:transform .2s ease}
.ahsim-achievement-form-wrap[open]>summary i{transform:rotate(180deg)}
.ahsim-achievement-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:13px;
  padding:18px 22px 22px;
  border-top:1px solid #eee9df;
  background:#fff;
}
.ahsim-achievement-form .span-2{grid-column:1/-1}
.ahsim-achievement-form label{color:#425c53;font-size:9px;font-weight:850}
.ahsim-achievement-form input,
.ahsim-achievement-form select,
.ahsim-achievement-form textarea{
  display:block;
  width:100%;
  margin-top:6px;
  padding:0 11px;
  border:1px solid #ddd6ca;
  border-radius:10px;
  background:#fcfbf8;
  color:#304c42;
  font:inherit;
  box-sizing:border-box;
}
.ahsim-achievement-form input,
.ahsim-achievement-form select{height:41px}
.ahsim-achievement-form textarea{min-height:76px;padding:10px 11px;resize:vertical}
.ahsim-achievement-form input[type=file]{height:auto;padding:9px;background:#fff}
.ahsim-achievement-evidence small,.ahsim-achievement-help{display:block;margin-top:6px;color:#8a928d;font-size:8px;font-weight:600;line-height:1.45}
.ahsim-achievement-group-fields{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  padding:14px;
  border:1px solid #e3dac6;
  border-radius:12px;
  background:#fbf8ef;
}
.ahsim-achievement-group-fields[hidden]{display:none!important}
.ahsim-achievement-participants{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:7px;
  max-height:235px;
  padding:8px;
  overflow:auto;
  border:1px solid #e2dbcf;
  border-radius:10px;
  background:#fff;
}
.ahsim-achievement-participants>label{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:46px;
  padding:8px 9px;
  border:1px solid #eee9df;
  border-radius:9px;
  background:#fff;
  cursor:pointer;
}
.ahsim-achievement-participants input{width:16px;height:16px;margin:0;accent-color:#0a503d}
.ahsim-achievement-participants b,.ahsim-achievement-participants small{display:block}
.ahsim-achievement-participants b{color:#314d43;font-size:9px}
.ahsim-achievement-participants small{margin-top:2px;color:#8a938e;font-size:7.5px;font-weight:600}
.ahsim-achievement-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.ahsim-achievement-form-actions a,
.ahsim-achievement-form-actions button{
  display:inline-flex;
  height:40px;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:10px;
  font-size:9px;
  font-weight:900;
  text-decoration:none;
}
.ahsim-achievement-form-actions a{border:1px solid #d8cfbd;background:#fff;color:#735f34}
.ahsim-achievement-form-actions button{border:0;background:linear-gradient(135deg,#07382d,#0c6049);color:#fff}
.ahsim-achievement-list{display:grid}
.ahsim-achievement-row{
  display:grid;
  grid-template-columns:62px minmax(0,1fr) 90px 116px;
  gap:14px;
  align-items:center;
  padding:15px 22px;
  border-bottom:1px solid #f0ece4;
}
.ahsim-achievement-row:last-child{border-bottom:0}
.ahsim-achievement-date{
  display:grid;
  width:52px;
  height:52px;
  place-content:center;
  border:1px solid #e0d5bd;
  border-radius:12px;
  background:#fffaf0;
  text-align:center;
}
.ahsim-achievement-date b{color:#876b31;font-family:Georgia,serif;font-size:18px;font-weight:400;line-height:1}
.ahsim-achievement-date span{margin-top:4px;color:#948871;font-size:6.8px;font-weight:900;letter-spacing:.05em}
.ahsim-achievement-main{min-width:0}
.ahsim-achievement-titleline{display:flex;align-items:center;gap:8px;min-width:0}
.ahsim-achievement-titleline>b{overflow:hidden;color:#263f37;font-size:10.5px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.ahsim-achievement-titleline>span{flex:0 0 auto;padding:3px 7px;border-radius:999px;background:#edf5f1;color:#2f6c59;font-size:7px;font-weight:900}
.ahsim-achievement-titleline>span.is-kelompok{background:#f5efe1;color:#80662f}
.ahsim-achievement-meta{display:flex;flex-wrap:wrap;gap:5px 9px;margin-top:5px;color:#87918c;font-size:8px}
.ahsim-achievement-meta strong{color:#9a7329}
.ahsim-achievement-members,.ahsim-achievement-note{margin:6px 0 0;color:#697871;font-size:8.2px;line-height:1.5}
.ahsim-achievement-members b{color:#3b5b50}
.ahsim-achievement-proof{display:grid;justify-items:start;gap:3px}
.ahsim-achievement-proof>span{padding:3px 6px;border-radius:6px;background:#eef3f1;color:#315e50;font-size:7px;font-weight:900}
.ahsim-achievement-proof>small{color:#929a95;font-size:7px}
.ahsim-achievement-proof>a{margin-top:3px;color:#876b31;font-size:8px;font-weight:900;text-decoration:none}
.ahsim-achievement-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}
.ahsim-achievement-actions form{margin:0}
.ahsim-achievement-actions>a,.ahsim-achievement-actions button{
  display:inline-flex;
  height:31px;
  align-items:center;
  justify-content:center;
  padding:0 9px;
  border:1px solid #d8cfbd;
  border-radius:8px;
  background:#fff;
  color:#705d35;
  font-size:8px;
  font-weight:850;
  text-decoration:none;
}
.ahsim-achievement-actions button{border-color:#ead3cd;color:#93564c;cursor:pointer}
.ahsim-achievement-empty{padding:28px 22px;text-align:center}
.ahsim-achievement-empty strong,.ahsim-achievement-empty span{display:block}
.ahsim-achievement-empty strong{color:#3c594f;font-size:10px}
.ahsim-achievement-empty span{margin-top:4px;color:#8b948f;font-size:8.5px}
.ahsim-print-achievements{margin-top:20px}
.ahsim-print-achievements>h2{margin:0 0 8px;font-family:Georgia,serif;font-size:15px;color:#222}
@media(max-width:900px){
  .ahsim-achievement-participants{grid-template-columns:repeat(2,1fr)}
  .ahsim-achievement-row{grid-template-columns:56px minmax(0,1fr) 84px}.ahsim-achievement-actions{grid-column:2/-1;justify-content:flex-start}
}
@media(max-width:650px){
  .ahsim-achievements-head{align-items:flex-start;flex-direction:column}
  .ahsim-achievement-form{grid-template-columns:1fr;padding:16px}
  .ahsim-achievement-form .span-2{grid-column:auto}
  .ahsim-achievement-group-fields{grid-template-columns:1fr}
  .ahsim-achievement-participants{grid-column:auto;grid-template-columns:1fr}
  .ahsim-achievement-row{grid-template-columns:52px minmax(0,1fr);gap:10px;padding:14px}
  .ahsim-achievement-proof{grid-column:2}
  .ahsim-achievement-actions{grid-column:2;justify-content:flex-start}
  .ahsim-achievement-titleline{align-items:flex-start;flex-direction:column}
  .ahsim-achievement-titleline>b{white-space:normal}
}


/* =========================================================
   V3.7.73 — PUSAT PRESTASI SANTRI
   ========================================================= */
.ahsim-achievement-center{display:grid;gap:16px}
.ahsim-achievement-center-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;
  padding:20px 22px;border:1px solid #e1dbd0;border-radius:18px;background:#fff;
}
.ahsim-achievement-center-head h2{margin:5px 0;font-family:Georgia,serif;font-size:28px;font-weight:400;color:#07382d}
.ahsim-achievement-center-head p{margin:0;color:#7a8580;font-size:10px;line-height:1.55}
.ahsim-achievement-center-form-wrap,.ahsim-achievement-center-list{
  overflow:hidden;border:1px solid #e1dbd0;border-radius:18px;background:#fff;
}
.ahsim-achievement-center-form-wrap>summary{
  display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:14px;padding:13px 18px;
  list-style:none;cursor:pointer;background:#fbfaf6;color:#345248;
}
.ahsim-achievement-center-form-wrap>summary::-webkit-details-marker{display:none}
.ahsim-achievement-center-form-wrap>summary b,.ahsim-achievement-center-form-wrap>summary small{display:block}
.ahsim-achievement-center-form-wrap>summary b{font-size:11px}.ahsim-achievement-center-form-wrap>summary small{margin-top:3px;color:#8a938e;font-size:8.5px}
.ahsim-achievement-center-form-wrap>summary i{font-style:normal;font-size:18px;transition:transform .2s ease}
.ahsim-achievement-center-form-wrap[open]>summary i{transform:rotate(180deg)}
.ahsim-achievement-center-form{border-top:1px solid #eee9df}
.ahsim-achievement-person-field,.ahsim-achievement-group-name{padding:12px 13px;border:1px solid #e5dfd4;border-radius:11px;background:#fbfaf7}
.ahsim-achievement-person-field label,.ahsim-achievement-group-name label{display:block}
.ahsim-achievement-person-field small,.ahsim-achievement-group-name small{display:block;margin-top:6px;color:#8a938d;font-size:8.5px}
.ahsim-achievement-filters{
  display:grid;grid-template-columns:minmax(220px,1fr) 160px 150px auto;gap:10px;align-items:end;
  padding:15px 16px;border:1px solid #e1dbd0;border-radius:16px;background:#fff;
}
.ahsim-achievement-filters label{display:grid;gap:5px;color:#52675e;font-size:8.5px;font-weight:850}
.ahsim-achievement-filters input,.ahsim-achievement-filters select{
  width:100%;height:39px;padding:0 10px;border:1px solid #ddd6ca;border-radius:9px;background:#fcfbf8;color:#314b42;
}
.ahsim-achievement-filters button{height:39px;padding:0 15px;border:0;border-radius:9px;background:#0a503d;color:#fff;font-size:9px;font-weight:900}
.ahsim-achievement-center-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 17px;border-bottom:1px solid #eee9df;background:#fbfaf6}
.ahsim-achievement-center-list-head b{color:#315247;font-size:10px}.ahsim-achievement-center-list-head span{color:#8a938e;font-size:8.5px}
.ahsim-achievement-table-wrap{width:100%;overflow:auto}
.ahsim-achievement-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0}
.ahsim-achievement-table th{padding:9px 10px;border-bottom:1px solid #ddd6c9;background:#f5f2eb;color:#5b6c64;font-size:8px;font-weight:900;text-align:left;white-space:nowrap}
.ahsim-achievement-table td{padding:10px;border-bottom:1px solid #f0ece4;color:#56675f;font-size:8.7px;line-height:1.45;vertical-align:top}
.ahsim-achievement-table tbody tr:last-child td{border-bottom:0}
.ahsim-achievement-table .is-title b,.ahsim-achievement-table .is-title small{display:block}.ahsim-achievement-table .is-title b{color:#2d473e;font-size:9.5px}.ahsim-achievement-table .is-title small{margin-top:3px;color:#8b948f;font-size:8px}
.ahsim-achievement-scope{display:inline-flex;min-height:23px;align-items:center;padding:0 7px;border-radius:999px;background:#edf5f1;color:#2f6c59;font-size:7.8px;font-weight:900;white-space:nowrap}
.ahsim-achievement-scope.is-kelompok{background:#fff5e6;color:#94651f}
.ahsim-achievement-evidence-link{display:inline-flex;min-height:27px;align-items:center;padding:0 8px;border:1px solid #d8cfbd;border-radius:8px;color:#725d30!important;font-size:8px;font-weight:900;text-decoration:none!important}
.ahsim-achievement-table td.is-actions{display:flex;align-items:center;gap:6px;white-space:nowrap}
.ahsim-achievement-table td.is-actions>a,.ahsim-achievement-table td.is-actions button{display:inline-flex;height:28px;align-items:center;justify-content:center;padding:0 8px;border:1px solid #d8cfbd;border-radius:7px;background:#fff;color:#725d30;font-size:8px;font-weight:850;text-decoration:none;cursor:pointer}
.ahsim-achievement-table td.is-actions form{margin:0}.ahsim-achievement-table td.is-actions button{border-color:#ead8d2;color:#8e4b3f}

.ahsim-individual-print-options{overflow:hidden;border:1px solid #e1dbd0;border-radius:18px;background:#fff}
.ahsim-individual-print-options>.ahsim-card-title{padding:20px 22px;border-bottom:1px solid #eee9df}
.ahsim-individual-print-form{display:grid;gap:18px;padding:20px 22px}
.ahsim-print-option-card{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #ddd5c6;border-radius:13px;background:#fbfaf6;cursor:pointer}
.ahsim-print-option-card input{position:absolute;opacity:0;pointer-events:none}
.ahsim-print-option-card>span b,.ahsim-print-option-card>span small{display:block}.ahsim-print-option-card>span b{color:#315247;font-size:10.5px}.ahsim-print-option-card>span small{margin-top:4px;color:#7e8983;font-size:9px;line-height:1.5}

@media(max-width:780px){
  .ahsim-achievement-center-head{align-items:flex-start;flex-direction:column}
  .ahsim-achievement-filters{grid-template-columns:1fr 1fr}
  .ahsim-achievement-filters .is-search{grid-column:1/-1}
}
@media(max-width:520px){.ahsim-achievement-filters{grid-template-columns:1fr}.ahsim-achievement-filters .is-search{grid-column:auto}}


/* =========================================================
   V3.7.74 — PRESTASI DATE INPUT PRECISION
   ========================================================= */
.ahsim-achievement-form input[type="date"]{
  display:block!important;
  width:100%!important;
  height:41px!important;
  min-height:41px!important;
  margin-top:6px!important;
  padding:0 10px!important;
  border:1px solid #ddd6ca!important;
  border-radius:10px!important;
  background:#fcfbf8!important;
  color:#304c42!important;
  box-sizing:border-box!important;
  font:inherit!important;
  line-height:1.2!important;
  vertical-align:middle!important;
}
.ahsim-achievement-form input[type="date"]::-webkit-date-and-time-value{
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
}
.ahsim-achievement-form input[type="date"]::-webkit-datetime-edit,
.ahsim-achievement-form input[type="date"]::-webkit-datetime-edit-fields-wrapper{
  display:flex!important;
  height:100%!important;
  min-height:100%!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
}
.ahsim-achievement-form input[type="date"]::-webkit-calendar-picker-indicator{
  align-self:center!important;
  margin:0!important;
  padding:4px!important;
  cursor:pointer!important;
}


/* =========================================================
   V3.7.75 — PRESTASI DATE TEXT VERTICAL PRECISION
   Fokus pada teks internal tanggal, bukan geometri kotak.
   ========================================================= */
.ahsim-achievement-form input[type="date"]{
  height:41px!important;
  min-height:41px!important;
  max-height:41px!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1.2!important;
  font-family:inherit!important;
  font-size:10px!important;
  font-weight:500!important;
  text-align:left!important;
}

/* Chrome / Edge / Android / Safari: nilai tanggal harus benar-benar
   berada di tengah tinggi control. */
.ahsim-achievement-form input[type="date"]::-webkit-date-and-time-value{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  align-items:center!important;
  justify-content:flex-start!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
  text-align:left!important;
}

.ahsim-achievement-form input[type="date"]::-webkit-datetime-edit,
.ahsim-achievement-form input[type="date"]::-webkit-datetime-edit-fields-wrapper{
  display:flex!important;
  height:100%!important;
  min-height:100%!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  line-height:1.2!important;
}

.ahsim-achievement-form input[type="date"]::-webkit-datetime-edit-day-field,
.ahsim-achievement-form input[type="date"]::-webkit-datetime-edit-month-field,
.ahsim-achievement-form input[type="date"]::-webkit-datetime-edit-year-field,
.ahsim-achievement-form input[type="date"]::-webkit-datetime-edit-text{
  align-self:center!important;
  margin:0!important;
  padding-top:0!important;
  padding-bottom:0!important;
  line-height:1.2!important;
}

.ahsim-achievement-form input[type="date"]::-webkit-calendar-picker-indicator{
  align-self:center!important;
  width:16px!important;
  height:16px!important;
  margin:0!important;
  padding:2px!important;
  box-sizing:content-box!important;
}

/* Firefox tetap memakai native date control; line-height dan block padding
   dijaga agar teksnya tidak turun ke bawah. */
@supports (-moz-appearance:none){
  .ahsim-achievement-form input[type="date"]{
    padding-block:0!important;
    line-height:39px!important;
  }
}

/* V3.7.76 — bukti izin teman sakit */
.km-permission-item.is-friend-sick{grid-template-columns:minmax(0,1.25fr) minmax(250px,.45fr)}
.km-sick-admin-badge{display:inline-flex;margin-top:7px;padding:5px 8px;border-radius:999px;background:#fff3d2;color:#7c6123;font-size:7px;font-weight:900;letter-spacing:.08em}
.km-sick-admin-proof{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(150px,.65fr);gap:10px;margin-top:11px}
.km-sick-admin-proof figure{margin:0;overflow:hidden;border:1px solid #e0dbd1;border-radius:11px;background:#fff}
.km-sick-admin-proof figcaption{padding:7px 9px;border-bottom:1px solid #e8e3da;background:#faf8f3;color:#776b57;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.km-sick-admin-proof img{display:block;width:100%;max-height:360px;object-fit:contain;background:#f5f5f2}
.km-sick-admin-proof .is-signature img{min-height:130px;max-height:220px;background:#fff}
.km-permission-item.status-cancelled .km-permission-result{background:#f0f1ef;color:#68716c}
@media(max-width:800px){.km-permission-item.is-friend-sick{grid-template-columns:1fr}.km-sick-admin-proof{grid-template-columns:1fr}.km-sick-admin-proof .is-signature img{max-height:180px}}

/* =========================================================
   V3.7.77 — KHATAMAN TOP TAB NAVIGATION
   Ringkasan hari ini tetap di atas; seluruh alat kerja dipilih
   melalui menu horizontal agar halaman mobile tidak memanjang.
   ========================================================= */
.km-admin-tabbar{
  display:flex;
  align-items:center;
  gap:7px;
  width:100%;
  margin:12px 0 4px;
  padding:7px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  border:1px solid #ddd7cc;
  border-radius:15px;
  background:#fff;
  box-shadow:0 8px 22px rgba(39,54,47,.05);
  -webkit-overflow-scrolling:touch;
}
.km-admin-tabbar button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:37px;
  flex:0 0 auto;
  padding:0 12px;
  border:1px solid transparent;
  border-radius:10px;
  background:#f7f4ed;
  color:#66736c;
  font:inherit;
  font-size:9px;
  font-weight:900;
  white-space:nowrap;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
}
.km-admin-tabbar button:hover{
  border-color:#d9cfb5;
  background:#fffaf0;
  color:#725b27;
}
.km-admin-tabbar button.is-active,
.km-admin-tabbar button[aria-selected="true"]{
  border-color:#07382d;
  background:#07382d;
  color:#fff;
  box-shadow:0 5px 13px rgba(7,56,45,.15);
}
.km-admin-tabbar button small{
  display:grid;
  place-items:center;
  min-width:17px;
  height:17px;
  padding:0 4px;
  border-radius:999px;
  background:#d8c38f;
  color:#07382d;
  font-size:7px;
  line-height:1;
}
.km-admin-tabbar button.is-active small,
.km-admin-tabbar button[aria-selected="true"] small{
  background:#fff;
  color:#07382d;
}
[data-km-admin-panel][hidden]{display:none!important}
.km-admin-tabbar + [data-km-admin-panel],
.km-admin-success + [data-km-admin-panel]{margin-top:12px}
.km-admin-tab-panel[data-km-admin-panel="peserta"]{margin-top:12px}
.km-admin-tab-panel[data-km-admin-panel="peserta"]>.km-admin-toolbar{margin-top:0}
.km-admin-toolbar-actions button.ahsim-secondary-action{font:inherit;font-size:10px;font-weight:900;cursor:pointer}
.km-admin-accordion[data-km-admin-panel]{margin-top:12px}
.km-baseline-panel[data-km-admin-panel]{margin-top:12px}

@media(max-width:650px){
  .km-admin-tabbar{
    width:calc(100% + 4px);
    margin-left:-2px;
    padding:6px;
    gap:5px;
    border-radius:13px;
  }
  .km-admin-tabbar button{
    min-height:35px;
    padding:0 10px;
    font-size:8px;
  }
}
.km-auto-verify-note{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:14px 20px 0;
  padding:10px 12px;
  border:1px solid #e6d8ad;
  border-radius:10px;
  background:#fffaf0;
  color:#6e5a24;
  font-size:8px;
  line-height:1.55;
}
.km-auto-verify-note b{flex:0 0 auto;color:#72591d}
.km-auto-verify-note span{color:#81745b}
@media(max-width:650px){.km-auto-verify-note{flex-direction:column;gap:3px;margin:12px 14px 0}}


/* =========================================================
   V3.7.80 — DETAIL HARIAN REKAP KHATAMAN
   ========================================================= */
.km-daily-detail-section{margin-top:18px;padding-top:16px;border-top:1px solid #e7e1d7}
.km-daily-detail-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:10px}
.km-daily-detail-heading>div{display:grid;gap:3px}.km-daily-detail-heading b{color:#173d33;font-family:Georgia,serif;font-size:18px;font-weight:400}.km-daily-detail-heading>small{max-width:330px;color:#8b918d;font-size:8px;line-height:1.5;text-align:right}
.km-daily-detail-list{display:grid;gap:8px}
.km-daily-student{overflow:hidden;border:1px solid #e2ddd3;border-radius:13px;background:#fff}
.km-daily-student>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}.km-daily-student>summary::-webkit-details-marker{display:none}
.km-daily-student>summary>div{display:grid;gap:3px}.km-daily-student>summary b{color:#173d33;font-size:10px}.km-daily-student>summary small{color:#8a918d;font-size:8px}.km-daily-student>summary>span{flex:0 0 auto;padding:6px 9px;border-radius:8px;background:#f6f2e8;color:#705c2d;font-size:8px;font-weight:900}
.km-daily-student[open]>summary{border-bottom:1px solid #ebe6dc;background:#fbfaf6}.km-daily-student[open]>summary>span{background:#173d33;color:#fff}
.km-daily-student-body{padding:12px}
.km-daily-mini-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-bottom:10px}.km-daily-mini-stats>div{padding:9px 10px;border:1px solid #ece7de;border-radius:10px;background:#faf9f6}.km-daily-mini-stats small{display:block;color:#938873;font-size:6.5px;font-weight:900;letter-spacing:.05em}.km-daily-mini-stats b{display:block;margin-top:3px;color:#254b40;font-size:10px}
.km-daily-rows{display:grid;gap:6px;max-height:520px;overflow:auto;padding-right:2px}.km-daily-row{display:grid;grid-template-columns:minmax(118px,.55fr) minmax(0,1.45fr);gap:10px;padding:9px 10px;border:1px solid #e6e3dc;border-left-width:4px;border-radius:10px;background:#fff}.km-daily-date,.km-daily-status{display:grid;gap:2px;align-content:start}.km-daily-date b{color:#3e4e48;font-size:8px}.km-daily-date span{color:#929894;font-size:7.5px}.km-daily-status b{font-size:9px}.km-daily-status span{color:#777f7a;font-size:8px;line-height:1.45}
.km-daily-row.tone-success{border-left-color:#2c765d;background:#f8fcfa}.km-daily-row.tone-success .km-daily-status b{color:#216449}
.km-daily-row.tone-danger{border-left-color:#bc3030;background:#fff7f7}.km-daily-row.tone-danger .km-daily-status b{color:#a22020}.km-daily-row.tone-danger .km-daily-status span{color:#754343}
.km-daily-row.tone-excused{border-left-color:#b49345;background:#fffcf4}.km-daily-row.tone-excused .km-daily-status b{color:#806323}
.km-daily-row.tone-pending{border-left-color:#d29b2b;background:#fffaf0}.km-daily-row.tone-pending .km-daily-status b{color:#84621e}
.km-daily-row.tone-neutral{border-left-color:#8c9190;background:#fafafa}.km-daily-row.tone-neutral .km-daily-status b{color:#5d6864}
.km-daily-row.tone-today{border-left-color:#7592a7;background:#f7fbfe}.km-daily-row.tone-today .km-daily-status b{color:#466a82}
@media(max-width:720px){.km-daily-detail-heading{align-items:flex-start;flex-direction:column;gap:4px}.km-daily-detail-heading>small{text-align:left}.km-daily-mini-stats{grid-template-columns:1fr}.km-daily-row{grid-template-columns:1fr;gap:5px}.km-daily-date{display:flex;gap:6px;align-items:baseline}.km-daily-rows{max-height:none}}

/* =========================================================
   V3.7.81 — DISPENSASI KHATAMAN
   ========================================================= */
.km-dispensation-panel{margin-top:12px;padding:18px;border:1px solid #e2ddd3;border-radius:16px;background:#fff}
.km-dispensation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.km-dispensation-head h3{margin:3px 0 4px;color:#173d33;font-family:Georgia,serif;font-size:22px;font-weight:400}.km-dispensation-head p{margin:0;max-width:660px;color:#7c8580;font-size:9px;line-height:1.55}
.km-dispensation-active-count{flex:0 0 auto;padding:7px 10px;border-radius:999px;background:#edf6f1;color:#24664e;font-size:8px;font-weight:900}
.km-dispensation-form{padding:14px;border:1px solid #ece5d7;border-radius:13px;background:#fcfbf8}
.km-dispensation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.km-dispensation-grid label,.km-dispensation-note{display:grid;gap:5px}.km-dispensation-grid label>span,.km-dispensation-note>span{color:#6d736f;font-size:8px;font-weight:900}.km-dispensation-grid input,.km-dispensation-grid select,.km-dispensation-note textarea{width:100%;box-sizing:border-box;border:1px solid #dcd7cd;border-radius:9px;background:#fff;color:#263d36;font:inherit;font-size:9px;padding:9px 10px}.km-dispensation-note{margin-top:10px}.km-dispensation-note small{font-weight:600;color:#9b968a}
.km-dispensation-targets{margin-top:10px;padding:10px;border:1px dashed #d8ceb8;border-radius:10px;background:#fff}.km-dispensation-targets>div:first-child{display:flex;justify-content:space-between;gap:12px;align-items:baseline;margin-bottom:7px}.km-dispensation-targets b{color:#3a5149;font-size:9px}.km-dispensation-targets small{color:#928a79;font-size:7.5px}
.km-dispensation-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:250px;overflow:auto}.km-dispensation-checks label{display:flex;align-items:center;gap:7px;padding:7px 8px;border:1px solid #ebe6dc;border-radius:8px;background:#faf9f6;color:#45534e;font-size:8px}.km-dispensation-checks input{width:15px;height:15px;accent-color:#205f49}
.km-dispensation-preview{margin-top:10px;padding:9px 10px;border-radius:9px;background:#eef5f1;color:#2d654f;font-size:8px;font-weight:800}.km-dispensation-submit{margin-top:9px;border:0;border-radius:9px;background:#173d33;color:#fff;padding:10px 14px;font-size:9px;font-weight:900;cursor:pointer}
.km-dispensation-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:18px 0 8px;padding-top:14px;border-top:1px solid #ebe6dc}.km-dispensation-list-head>div{display:grid;gap:3px}.km-dispensation-list-head b{color:#173d33;font-size:11px}.km-dispensation-list-head>small{color:#969188;font-size:7.5px;max-width:390px;text-align:right}
.km-dispensation-list{display:grid;gap:8px}.km-dispensation-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e5e0d6;border-left:4px solid #b79a4e;border-radius:11px;background:#fff}.km-dispensation-item.status-cancelled{border-left-color:#a7aaa8;background:#fafafa}.km-dispensation-item.status-partially_cancelled{border-left-color:#d28a39}.km-dispensation-item-main{display:grid;gap:4px;min-width:0}.km-dispensation-item-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.km-dispensation-item-top b{color:#29493e;font-size:9px}.km-dispensation-item-top span{padding:4px 7px;border-radius:999px;background:#f5ecd7;color:#795f24;font-size:7px;font-weight:900}.km-dispensation-item p{margin:0;color:#545f5b;font-size:8.5px;font-weight:800}.km-dispensation-item small{color:#8b928e;font-size:7.5px;line-height:1.45}.km-dispensation-cancel button{border:1px solid #ddcaca;border-radius:8px;background:#fff8f8;color:#9b3434;padding:7px 9px;font-size:8px;font-weight:900;cursor:pointer}.km-dispensation-locked{flex:0 0 auto;padding:6px 8px;border-radius:8px;background:#f1f1ef;color:#777d79;font-size:7.5px;font-weight:900}
.km-daily-row.tone-dispensed{border-left-color:#b49345;background:#fffcf4}.km-daily-row.tone-dispensed .km-daily-status b{color:#806323}
@media(max-width:900px){.km-dispensation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.km-dispensation-checks{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.km-dispensation-panel{padding:12px}.km-dispensation-head{flex-direction:column}.km-dispensation-grid{grid-template-columns:1fr}.km-dispensation-checks{grid-template-columns:1fr}.km-dispensation-targets>div:first-child,.km-dispensation-list-head{align-items:flex-start;flex-direction:column}.km-dispensation-list-head>small{text-align:left}.km-dispensation-item{align-items:flex-start;flex-direction:column}.km-dispensation-cancel,.km-dispensation-cancel button{width:100%}}
.km-today-status-row>span.status-dispensed{background:#fff7df;color:#7b6122}

/* =========================================================
   V3.7.85 — SURAT KELUAR OTOMATIS & PREVIEW BAWAH
   ========================================================= */
.ahsim-surat-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.ahsim-surat-overview>div{display:grid;gap:4px;padding:14px 16px;border:1px solid #e6e2da;border-radius:14px;background:#fff}.ahsim-surat-overview small{color:#8d918e;font-size:7px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.ahsim-surat-overview b{color:#173d33;font-family:Georgia,serif;font-size:24px;font-weight:400}.ahsim-surat-overview span{color:#737b77;font-size:8px}.ahsim-surat-overview .identity{background:#f8fbf9}.ahsim-surat-overview .identity b{font-family:inherit;font-size:13px;font-weight:900}
.ahsim-surat-focus-note{display:flex;align-items:flex-start;gap:9px;margin-bottom:12px;padding:10px 12px;border:1px solid #e4d9bd;border-radius:11px;background:#fffbf1;color:#6f613f;font-size:8px;line-height:1.55}.ahsim-surat-focus-note b{flex:0 0 auto;color:#6f5420}.ahsim-surat-scope{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid #e1ddd5;border-radius:9px;background:#f8f7f4}.ahsim-surat-scope a{padding:6px 8px;border-radius:7px;color:#68716d;font-size:7.5px;font-weight:900;text-decoration:none}.ahsim-surat-scope a.active{background:#173d33;color:#fff}.ahsim-surat-row-actions{white-space:nowrap}.ahsim-surat-row-actions a{display:inline-block;margin-left:5px;color:#315f50;font-size:8px;font-weight:900;text-decoration:none}.ahsim-surat-row-actions a:first-child{margin-left:0}

.ahsim-surat-builder{display:grid;gap:14px}.ahsim-surat-builder-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:2px 2px 0}.ahsim-surat-builder-head h2{margin:4px 0;color:#173d33;font-family:Georgia,serif;font-size:25px;font-weight:400}.ahsim-surat-builder-head p{margin:0;color:#7c8580;font-size:8.5px}.ahsim-surat-builder-head>a{flex:0 0 auto;color:#386454;font-size:8px;font-weight:900;text-decoration:none}.ahsim-surat-builder-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.ahsim-surat-form{display:grid;gap:10px}.ahsim-surat-form-section{padding:14px;border:1px solid #e5e1d8;border-radius:14px;background:#fff}.ahsim-surat-section-title{display:flex;align-items:center;gap:9px;margin-bottom:11px}.ahsim-surat-section-title>span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:#173d33;color:#fff;font-size:8px;font-weight:900}.ahsim-surat-section-title>div{display:grid;gap:2px}.ahsim-surat-section-title b{color:#29473d;font-size:10px}.ahsim-surat-section-title small{color:#919792;font-size:7px}.ahsim-surat-fields{display:grid;gap:9px}.ahsim-surat-fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.ahsim-surat-fields.one{grid-template-columns:1fr}.ahsim-surat-fields label{display:grid;gap:5px;color:#4d5d57;font-size:7.5px;font-weight:900}.ahsim-surat-fields label.full{grid-column:1/-1}.ahsim-surat-fields label>small{color:#98958b;font-size:6.5px;font-weight:600;line-height:1.4}.ahsim-surat-fields input,.ahsim-surat-fields select,.ahsim-surat-fields textarea{width:100%;box-sizing:border-box;border:1px solid #dcd8cf;border-radius:9px;background:#fff;color:#263d36;font:inherit;font-size:9px;font-weight:600;padding:9px 10px;outline:none}.ahsim-surat-fields input:focus,.ahsim-surat-fields select:focus,.ahsim-surat-fields textarea:focus{border-color:#7ba18f;box-shadow:0 0 0 3px rgba(51,105,82,.08)}.ahsim-surat-fields input[readonly]{background:#f7f6f3;color:#65716d}.ahsim-surat-fields textarea{min-height:88px;resize:vertical;line-height:1.5}.ahsim-surat-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:4px 2px}.ahsim-surat-form-actions a,.ahsim-surat-form-actions button{border-radius:9px;padding:9px 12px;font:inherit;font-size:8px;font-weight:900;text-decoration:none;cursor:pointer}.ahsim-surat-form-actions a{color:#6b7470}.ahsim-surat-form-actions button{border:1px solid #173d33;background:#173d33;color:#fff}.ahsim-surat-form-actions button.secondary{border-color:#d7d3ca;background:#fff;color:#385a4e}

.ahsim-surat-live-preview{position:static;min-width:0;width:100%;box-sizing:border-box;padding:14px;border:1px solid #e2ddd4;border-radius:15px;background:#f2f1ed}.ahsim-surat-live-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.ahsim-surat-live-head>div{display:grid;gap:2px}.ahsim-surat-live-head b{color:#29483d;font-size:9px}.ahsim-surat-live-head small{color:#8d938f;font-size:6.5px}.ahsim-surat-live-head>span{padding:5px 7px;border-radius:999px;background:#fff;color:#68746f;font-size:6.5px;font-weight:900}.ahsim-letter-scale{display:flex;justify-content:center;overflow:auto;border-radius:7px;padding:4px}.ahsim-letter-scale .ahsim-letter-sheet{transform-origin:top center}.ahsim-surat-form-section.is-hidden,.ahsim-letter-event.is-hidden{display:none!important}.ahsim-surat-preview-note{margin:9px 2px 0;color:#8b8e89;font-size:6.5px;line-height:1.45}

.ahsim-letter-print-wrap{display:flex;justify-content:center;padding:12px;border-radius:15px;background:#ecebe7;overflow:auto}.ahsim-letter-sheet{position:relative;width:210mm;min-width:210mm;min-height:297mm;box-sizing:border-box;padding:15mm 18mm 18mm;background:#fff;color:#111;font-family:"Trebuchet MS",Trebuchet,Arial,sans-serif;font-size:10.5pt;line-height:1.46;box-shadow:0 8px 28px rgba(25,39,34,.12)}.ahsim-letterhead{display:grid;grid-template-columns:27mm 1fr;gap:6mm;align-items:center;padding:0 1mm 3mm}.ahsim-letterhead-logo{display:flex;justify-content:center}.ahsim-letterhead-logo img{width:24mm;height:24mm;object-fit:contain}.ahsim-letterhead-copy{text-align:center}.ahsim-letterhead-name{font-family:Georgia,"Times New Roman",serif;font-size:16pt;font-weight:800;line-height:1.04;letter-spacing:.02em}.ahsim-letterhead-name>span{display:block}.ahsim-letterhead-name>span.is-empty{display:none}.ahsim-letterhead-address{margin-top:2mm;font-size:9.2pt;font-weight:800;letter-spacing:.01em}.ahsim-letterhead-contact{margin-top:1.2mm;font-size:8.6pt}.ahsim-letterhead-contact b{padding:0 2mm;color:#2d654f}.ahsim-letterhead-rule{height:1.4mm;border-top:1.4pt solid #174d3f;border-bottom:.55pt solid #c8a946}.ahsim-letterhead-rule i{display:block}
.ahsim-letter-meta{display:grid;gap:.8mm;margin-top:7mm}.ahsim-letter-meta>div{display:grid;grid-template-columns:24mm 4mm minmax(0,1fr);align-items:start}.ahsim-letter-meta b{font-weight:400}.ahsim-letter-recipient{margin-top:8mm}.ahsim-letter-recipient p{margin:0 0 .7mm}.ahsim-letter-recipient-name{font-weight:800}.ahsim-letter-place-word{padding-left:8mm}.ahsim-letter-body{margin-top:7mm}.ahsim-letter-body>p{margin:0 0 4mm;text-align:justify}.ahsim-letter-paragraph{white-space:pre-line;text-indent:10mm}.ahsim-letter-event{display:grid;gap:1.3mm;margin:1mm 0 5mm 10mm}.ahsim-letter-event>div{display:grid;grid-template-columns:29mm 5mm minmax(0,1fr)}.ahsim-letter-event b{font-weight:400}.ahsim-letter-event em{font-style:normal}.ahsim-letter-signature{width:70mm;margin:10mm 0 0 auto;text-align:left}.ahsim-letter-signature p{margin:0 0 1mm}.ahsim-letter-sign-space{height:25mm}.ahsim-letter-sign-name{font-weight:700;text-decoration:underline;text-underline-offset:2px}.ahsim-letter-footer-mark{position:absolute;left:0;right:0;bottom:0;height:5mm;overflow:hidden}.ahsim-letter-footer-mark:before{content:"";position:absolute;right:0;bottom:0;width:58%;height:2.6mm;background:#174d3f}.ahsim-letter-footer-mark i{position:absolute;right:49%;bottom:0;width:11%;height:2.6mm;background:#d4af37;transform:skewX(-25deg)}.ahsim-letter-footer-mark b{position:absolute;left:0;right:0;bottom:0;height:.7mm;background:#174d3f;opacity:.28}
.ahsim-letter-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:2px 0}.ahsim-letter-preview-toolbar>div:first-child{display:grid;gap:4px;flex:1 1 auto;min-width:0}.ahsim-letter-preview-toolbar b{color:#24483c;font-size:10px;line-height:1.25}.ahsim-letter-preview-toolbar small{color:#8c928e;font-size:7px;line-height:1.35}.ahsim-letter-preview-toolbar>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.ahsim-letter-preview-toolbar a,.ahsim-letter-preview-toolbar button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border:1px solid #173d33;border-radius:10px;background:#173d33;color:#fff;font:inherit;font-size:7.6px;font-weight:900;line-height:1.1;text-align:center;text-decoration:none;cursor:pointer;white-space:nowrap;box-sizing:border-box}.ahsim-letter-preview-toolbar a.secondary,.ahsim-letter-preview-toolbar button.secondary{border-color:#d9d5cc;background:#fff;color:#52635d}

@media(max-width:1080px){.ahsim-letter-scale{max-height:none}.ahsim-letter-scale .ahsim-letter-sheet{zoom:.88}}
@media(max-width:720px){.ahsim-surat-overview{grid-template-columns:1fr}.ahsim-surat-focus-note{flex-direction:column;gap:3px}.ahsim-surat-builder-head,.ahsim-letter-preview-toolbar{align-items:flex-start;flex-direction:column}.ahsim-surat-fields.two{grid-template-columns:1fr}.ahsim-surat-form-actions{align-items:stretch;flex-direction:column}.ahsim-surat-form-actions a,.ahsim-surat-form-actions button{text-align:center}.ahsim-surat-live-preview{padding:9px}.ahsim-letter-scale{justify-content:flex-start;padding:2px}.ahsim-letter-scale .ahsim-letter-sheet{zoom:.48}.ahsim-letter-preview-toolbar>div:last-child{width:100%;justify-content:flex-start;flex-wrap:wrap}.ahsim-letter-preview-toolbar a,.ahsim-letter-preview-toolbar button{flex:1 1 calc(50% - 8px);text-align:center}.ahsim-surat-scope{width:100%}.ahsim-surat-scope a{flex:1;text-align:center}}

@media print{
  @page{margin:0}
  body *{visibility:hidden!important}
  .ahsim-letter-print-wrap,.ahsim-letter-print-wrap *{visibility:visible!important}
  .ahsim-letter-print-wrap{position:absolute!important;left:0!important;top:0!important;width:210mm!important;padding:0!important;margin:0!important;background:#fff!important;overflow:visible!important}
  .ahsim-letter-sheet{width:210mm!important;min-width:210mm!important;min-height:297mm!important;margin:0!important;box-shadow:none!important;zoom:1!important}
  #wpadminbar{display:none!important}
}

/* =========================================================
   V3.7.86 — PENERBIT, PENGURUS, TANDA TANGAN & F4
   ========================================================= */
.ahsim-surat-head-actions{display:flex;align-items:center;gap:10px}.ahsim-surat-head-actions a,.ahsim-secondary-action{color:#386454;font-size:8px;font-weight:900;text-decoration:none}.ahsim-secondary-action{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid #d8d4cb;border-radius:9px;background:#fff}
.ahsim-surat-fields.three{grid-template-columns:repeat(3,minmax(0,1fr))}.ahsim-surat-officials-form{display:grid;gap:12px;margin-top:14px}
.ahsim-surat-choice-block{display:grid;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #ece8e0}.ahsim-surat-choice-block>b{color:#40544d;font-size:8px}.ahsim-surat-choice-block>b small{color:#8e9692;font-weight:700}.ahsim-surat-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.ahsim-surat-check-grid>label{display:flex;align-items:flex-start;gap:8px;padding:9px 10px;border:1px solid #e2ded5;border-radius:10px;background:#fbfaf7;color:#314a41;font-size:8px;font-weight:900;cursor:pointer}.ahsim-surat-check-grid input{width:auto!important;margin:2px 0 0;accent-color:#173d33}.ahsim-surat-check-grid span{display:grid;gap:2px}.ahsim-surat-check-grid small{color:#858e89;font-size:6.7px;font-weight:600}.ahsim-surat-check-grid .is-hidden{display:none!important}
.ahsim-letter-sheet.paper-f4{min-height:330mm}.ahsim-letterhead-subtitle,.ahsim-letterhead-city{margin-top:1mm}.ahsim-letterhead-subtitle{font-size:9.8pt;font-weight:700}.ahsim-letterhead-city{font-size:9pt;font-weight:900;letter-spacing:.06em}.ahsim-letterhead-subtitle.is-empty,.ahsim-letterhead-city.is-empty,.ahsim-letterhead-contact.is-empty{display:none}
.ahsim-letter-sheet.issuer-musholla .ahsim-letterhead{grid-template-columns:25mm 1fr;gap:6mm;align-items:center;padding:0 2mm 3.4mm}.ahsim-letter-sheet.issuer-musholla .ahsim-letterhead-logo img{width:22mm;height:25mm;object-fit:contain}.ahsim-letter-sheet.issuer-musholla .ahsim-letterhead-name{font-family:Georgia,"Times New Roman",serif;font-size:15.4pt;font-weight:800;line-height:1.08;letter-spacing:.018em;color:#173d33}.ahsim-letter-sheet.issuer-musholla .ahsim-letterhead-subtitle{margin-top:1.05mm;font-family:Georgia,"Times New Roman",serif;color:#294f43;font-size:13.4pt;font-weight:800;line-height:1.08;letter-spacing:.004em;white-space:nowrap}.ahsim-letter-sheet.issuer-musholla .ahsim-letterhead-address{margin-top:1.8mm;color:#263b34;font-size:9.2pt;font-weight:700;letter-spacing:.005em}.ahsim-letter-sheet.issuer-musholla .ahsim-letterhead-city{margin-top:.8mm;color:#173d33;font-size:8.9pt;font-weight:900;letter-spacing:.12em}.ahsim-letter-sheet.issuer-musholla .ahsim-letterhead-rule{height:1.25mm;border-top:1.35pt solid #173d33;border-bottom:.55pt solid #173d33}.ahsim-letter-sheet.issuer-musholla .ahsim-letter-footer-mark:before,.ahsim-letter-sheet.issuer-musholla .ahsim-letter-footer-mark b{background:#173d33}.ahsim-letter-sheet.issuer-musholla .ahsim-letter-footer-mark i{background:#315b4e}
.ahsim-letter-signature-area{margin-top:9mm}.ahsim-letter-sign-date{margin:0 0 5mm auto;width:70mm;text-align:left}.ahsim-letter-sign-grid{display:grid;gap:12mm;align-items:end}.ahsim-letter-sign-grid.count-1{grid-template-columns:minmax(0,70mm);justify-content:end}.ahsim-letter-sign-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.ahsim-letter-sign-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6mm}.ahsim-letter-sign-card{text-align:center}.ahsim-letter-sign-card p{margin:0}.ahsim-letter-sign-role{min-height:10mm}.ahsim-letter-sign-space{height:24mm}.ahsim-letter-sign-name{font-weight:700;text-decoration:underline;text-underline-offset:2px}.ahsim-letter-ack{margin-top:8mm}.ahsim-letter-ack.is-hidden{display:none}.ahsim-letter-ack-title{margin:0 0 2mm;text-align:center}.ahsim-letter-signature{display:none}
@media(max-width:720px){.ahsim-surat-fields.three,.ahsim-surat-check-grid{grid-template-columns:1fr}.ahsim-surat-head-actions{width:100%;justify-content:space-between}}
@media print{
  .ahsim-letter-sheet.paper-a4{min-height:297mm!important}
  .ahsim-letter-sheet.paper-f4{min-height:330mm!important}
}

/* V3.7.90 — MASTER DATA PENGURUS & SANTRI */
.ahsim-master-tabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:5px;border:1px solid #dedbd3;border-radius:14px;background:#f8f7f3;width:max-content;max-width:100%;box-sizing:border-box}.ahsim-master-tabs a{display:inline-flex;align-items:center;justify-content:center;min-width:104px;min-height:42px;padding:0 16px;border-radius:10px;color:#65706b;font-size:9px;font-weight:900;line-height:1.1;letter-spacing:.02em;text-align:center;text-decoration:none;white-space:nowrap;transition:.18s ease;box-sizing:border-box}.ahsim-master-tabs a:hover{color:#173d33;background:#fff}.ahsim-master-tabs a.active{background:#173d33;color:#fff;box-shadow:0 5px 14px rgba(23,61,51,.12)}
.ahsim-official-master-head{margin-top:0}
.ahsim-master-officials-form{max-width:none}
@media(max-width:720px){.ahsim-master-tabs{width:100%}.ahsim-master-tabs a{flex:1 1 calc(50% - 8px);min-width:0}}

/* =========================================================
   V3.7.91 — SPACING SURAT & HISTORI DATA PENGURUS
   ========================================================= */
/* Surat dibuat lebih padat: satu jarak kecil antarbagian setara ±5pt. */
.ahsim-letter-meta{margin-top:5pt}
.ahsim-letter-recipient{margin-top:5pt}
.ahsim-letter-body{margin-top:5pt}
.ahsim-letter-body>p{margin:0 0 5pt}
.ahsim-letter-event{gap:1mm;margin:0 0 5pt 10mm}
.ahsim-letter-signature-area{margin-top:5pt}
.ahsim-letter-sign-date{margin:0 0 5pt auto}
.ahsim-letter-ack{margin-top:5pt}
.ahsim-letter-ack-title{margin:0 0 5pt;text-align:center}
.ahsim-letter-sign-role{min-height:5mm}
.ahsim-letter-sign-space{height:21mm}

.ahsim-official-add-card{margin-top:12px}
.ahsim-official-add-form{display:grid;gap:10px}
.ahsim-official-list-section{margin-top:12px}
.ahsim-official-subhead{display:flex;align-items:center;justify-content:space-between;margin:4px 0 8px;color:#365348;font-size:8px}
.ahsim-official-table-wrap{overflow:auto;border:1px solid #e4e0d8;border-radius:11px;background:#fff}
.ahsim-official-table{width:100%;min-width:650px;border-collapse:collapse;font-size:8px}
.ahsim-official-table th,.ahsim-official-table td{padding:9px 10px;border-bottom:1px solid #eeeae2;text-align:left;vertical-align:middle}
.ahsim-official-table th{background:#f7f6f2;color:#66716c;font-size:7px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.ahsim-official-table tbody tr:last-child td{border-bottom:0}
.ahsim-official-table td b{color:#24483c}
.ahsim-official-status{display:inline-flex;align-items:center;padding:4px 7px;border-radius:999px;font-size:6.8px;font-weight:900}
.ahsim-official-status.active{background:#e8f4ec;color:#236143}
.ahsim-official-status.history{background:#f0efec;color:#747a76}
.ahsim-official-inline-form{margin:0}
.ahsim-official-inline-form button{border:1px solid #d9d5cc;border-radius:8px;background:#fff;color:#36584c;padding:6px 8px;font:inherit;font-size:7px;font-weight:900;cursor:pointer}
.ahsim-official-inline-form button:hover{border-color:#173d33;color:#173d33}
.ahsim-official-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ahsim-official-inline-form button.danger{border-color:#ead1cc;color:#9b3529;background:#fffafa}
.ahsim-official-inline-form button.danger:hover{border-color:#b94a3b;color:#7f261d;background:#fff4f2}
.ahsim-official-history{margin-top:10px;border:1px solid #e4e0d8;border-radius:11px;background:#faf9f6;overflow:hidden}
.ahsim-official-history>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:#40554d;font-size:8px;font-weight:900;cursor:pointer;list-style:none}
.ahsim-official-history>summary::-webkit-details-marker{display:none}
.ahsim-official-history>summary span{display:inline-flex;min-width:22px;justify-content:center;padding:3px 6px;border-radius:999px;background:#ebe9e3;color:#707772;font-size:6.8px}
.ahsim-official-history[open]>summary{border-bottom:1px solid #e4e0d8}
.ahsim-official-history .ahsim-official-table-wrap{border:0;border-radius:0}
.ahsim-official-table.history{background:#fcfbf8}

@media(max-width:720px){
  .ahsim-official-add-form .ahsim-surat-fields.two{grid-template-columns:1fr}
}

/* =========================================================
   V3.7.93 — EDIT DATA PENGURUS
   ========================================================= */
.ahsim-official-edit-link,
.ahsim-official-cancel-edit{
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid #d9d5cc;border-radius:8px;background:#fff;color:#36584c;
  padding:6px 8px;font-size:7px;font-weight:900;text-decoration:none;line-height:1.2
}
.ahsim-official-edit-link:hover,.ahsim-official-cancel-edit:hover{border-color:#173d33;color:#173d33}
.ahsim-official-add-card.is-editing{border-color:#bfd2c8;box-shadow:0 8px 22px rgba(23,61,51,.06)}


/* =========================================================
   V3.7.94 — PERIODE KEPENGURUSAN, URUTAN & CETAK
   ========================================================= */
.ahsim-official-period-card{margin-top:12px}.ahsim-official-period-form{display:grid;gap:10px}
.ahsim-official-empty-period{padding:12px;border:1px dashed #d9d5cc;border-radius:10px;background:#faf9f6;color:#7b827e;font-size:8px;text-align:center}
.ahsim-official-issuer-block{display:grid;gap:10px;margin-top:16px}.ahsim-official-issuer-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 2px}.ahsim-official-issuer-title b{color:#173d33;font-size:11px}.ahsim-official-issuer-title span{color:#8a918d;font-size:7px;font-weight:800}
.ahsim-official-period-section{margin:0}.ahsim-official-period-section.is-active{border-color:#bfd2c8;box-shadow:0 5px 18px rgba(23,61,51,.05)}
.ahsim-official-period-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.ahsim-official-period-head>div:first-child{display:flex;align-items:center;gap:8px}.ahsim-official-period-head>div:first-child>b{color:#29483d;font-size:10px}.ahsim-official-period-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.ahsim-official-print-icon{display:inline-grid;place-items:center;width:30px;height:30px;border:1px solid #d8d4cb;border-radius:8px;background:#fff;color:#173d33;text-decoration:none}.ahsim-official-print-icon:hover{border-color:#173d33;background:#f8fbf9}.ahsim-official-print-icon svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ahsim-official-order-controls{display:flex;align-items:center;gap:4px}.ahsim-official-inline-form button.order{display:grid;place-items:center;width:25px;height:25px;padding:0;font-size:11px;line-height:1}.ahsim-official-inline-form button.order:disabled{opacity:.28;cursor:default;border-color:#e5e2db;color:#a8ada9}
.ahsim-official-table tr.is-member-inactive td{opacity:.6}.ahsim-official-table th:first-child{width:68px}
@media(max-width:720px){.ahsim-official-period-head{align-items:flex-start;flex-direction:column}.ahsim-official-period-actions{width:100%;justify-content:flex-start}.ahsim-official-period-form .ahsim-surat-fields.three,.ahsim-official-add-form .ahsim-surat-fields.three{grid-template-columns:1fr}}

.ahsim-official-period-active-choice{display:inline-flex;align-items:center;gap:8px;width:max-content;margin:2px 0;color:#365348;font-size:8px;font-weight:900}.ahsim-official-period-active-choice input{width:auto;accent-color:#173d33}

/* V3.7.95 — Struktur Pengurus: jabatan tunggal dan bidang/divisi */
.ahsim-official-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:start}
.ahsim-official-structure-list{display:grid;gap:8px}
.ahsim-official-structure-card{display:flex;align-items:center;gap:10px;border:1px solid #e4e0d8;border-radius:11px;background:#fff;padding:9px 10px}
.ahsim-official-structure-card.single.is-member-inactive,.ahsim-official-group-member.is-member-inactive{opacity:.58}
.ahsim-official-block-order{display:flex;gap:4px;flex:0 0 auto}
.ahsim-official-single-main{display:grid;gap:2px;min-width:180px;flex:1}.ahsim-official-single-main b{font-size:8.5px;color:#24483c}.ahsim-official-single-main span{font-size:8px;color:#5f6d67}
.ahsim-official-structure-card.group{display:block;padding:0;overflow:hidden}
.ahsim-official-group-head{display:flex;align-items:center;gap:10px;padding:9px 10px;background:#f7faf8;border-bottom:1px solid #e5ebe7}
.ahsim-official-group-title{display:flex;align-items:baseline;gap:8px;flex:1}.ahsim-official-group-title b{font-size:9px;color:#173d33}.ahsim-official-group-title span{font-size:7px;color:#83908a;font-weight:800}
.ahsim-official-group-members{display:grid}.ahsim-official-group-empty{padding:10px 12px;color:#8a918d;font-size:7.5px}
.ahsim-official-group-member{display:grid;grid-template-columns:125px minmax(140px,1fr) auto;align-items:center;gap:8px;padding:7px 11px;border-bottom:1px solid #f0ede7}
.ahsim-official-group-member .role{font-size:7.5px;font-weight:900;color:#4d665d}.ahsim-official-group-member>b{font-size:8px;color:#273f36}
.ahsim-official-group-member-form{display:grid;grid-template-columns:150px minmax(180px,1fr) auto auto;align-items:end;gap:8px;padding:9px 11px;background:#fbfaf7}
.ahsim-official-group-member-form label{display:grid;gap:4px;color:#52635d;font-size:7px;font-weight:900}.ahsim-official-group-member-form input,.ahsim-official-group-member-form select{width:100%;min-height:32px;border:1px solid #d9d5cc;border-radius:8px;background:#fff;padding:6px 8px;font:inherit;font-size:8px;color:#263b34}
.ahsim-official-group-member-form>button{min-height:32px;border:0;border-radius:8px;background:#173d33;color:#fff;padding:7px 12px;font:inherit;font-size:7.5px;font-weight:900;cursor:pointer}
@media(max-width:820px){.ahsim-official-entry-grid{grid-template-columns:1fr}.ahsim-official-group-head{align-items:flex-start;flex-wrap:wrap}.ahsim-official-group-member{grid-template-columns:105px 1fr}.ahsim-official-group-member>.ahsim-official-actions{grid-column:1/-1}.ahsim-official-group-member-form{grid-template-columns:1fr 1fr}.ahsim-official-group-member-form>button,.ahsim-official-group-member-form>.ahsim-official-cancel-edit{align-self:end}}
@media(max-width:560px){.ahsim-official-structure-card.single{align-items:flex-start;flex-wrap:wrap}.ahsim-official-single-main{min-width:calc(100% - 70px)}.ahsim-official-structure-card.single>.ahsim-official-actions{width:100%;padding-left:60px}.ahsim-official-group-member{grid-template-columns:1fr}.ahsim-official-group-member-form{grid-template-columns:1fr}}

/* =========================================================
   V3.7.96 — Kelompok Jabatan & pemisah struktur
   ========================================================= */
.ahsim-official-structure-card.group{border-color:#d9e1dc}
.ahsim-official-structure-card.group.group-positions{border-bottom:2px solid #718d81}
.ahsim-official-structure-card.group.group-positions .ahsim-official-group-head{background:#f5f8f6}
.ahsim-official-structure-card.group.group-positions .ahsim-official-group-title span{color:#61776e}
.ahsim-official-group-member{grid-template-columns:54px 125px minmax(140px,1fr) auto}
.ahsim-official-member-order{display:flex;align-items:center;gap:3px}
.ahsim-official-inline-form button.order.mini{width:21px;height:21px;font-size:9px;border-radius:6px}
.ahsim-official-structure-card.group+.ahsim-official-structure-card{margin-top:2px}
@media(max-width:820px){
  .ahsim-official-group-member{grid-template-columns:54px 105px 1fr}
  .ahsim-official-group-member>.ahsim-official-actions{grid-column:1/-1;padding-left:62px}
}
@media(max-width:560px){
  .ahsim-official-group-member{grid-template-columns:48px 1fr}
  .ahsim-official-group-member .role{grid-column:2}
  .ahsim-official-group-member>b{grid-column:2}
  .ahsim-official-group-member>.ahsim-official-actions{grid-column:1/-1;padding-left:48px}
}

/* =========================================================
   V3.7.98 — PENANDATANGAN RINGKAS & PENCARIAN
   ========================================================= */
.ahsim-surat-choice-details{display:block;margin-top:12px;padding:0;border:1px solid #e5e1d9;border-radius:11px;background:#fbfaf7;overflow:hidden}
.ahsim-surat-choice-details.is-hidden{display:none!important}
.ahsim-surat-choice-details>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;cursor:pointer;user-select:none;background:#fbfaf7}
.ahsim-surat-choice-details>summary::-webkit-details-marker{display:none}
.ahsim-surat-choice-details>summary span{display:grid;gap:2px;min-width:0}
.ahsim-surat-choice-details>summary b{color:#344c43;font-size:8px}
.ahsim-surat-choice-details>summary small{color:#8a928e;font-size:6.8px;font-weight:700}
.ahsim-surat-choice-details>summary i{width:8px;height:8px;border-right:1.6px solid #53645e;border-bottom:1.6px solid #53645e;transform:rotate(45deg);transition:transform .18s ease;flex:0 0 auto;margin-right:2px}
.ahsim-surat-choice-details[open]>summary{border-bottom:1px solid #ebe7df;background:#f7f8f5}
.ahsim-surat-choice-details[open]>summary i{transform:rotate(225deg);margin-top:4px}
.ahsim-surat-choice-body{display:grid;gap:9px;padding:10px 11px 11px}
.ahsim-surat-choice-search{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px!important;padding:0!important;border:0!important;background:transparent!important;color:#5d6964!important;font-size:7px!important;font-weight:900!important}
.ahsim-surat-choice-search input{min-height:34px!important;width:100%!important;border:1px solid #dcd8cf!important;border-radius:9px!important;background:#fff!important;padding:7px 10px!important;font:inherit!important;font-size:8px!important;color:#263b34!important;outline:none}
.ahsim-surat-choice-search input:focus{border-color:#789187!important;box-shadow:0 0 0 2px rgba(23,61,51,.07)}
.ahsim-surat-check-grid>label.is-search-hidden{display:none!important}
.ahsim-surat-choice-empty{margin:0;padding:9px 10px;border:1px dashed #dcd8cf;border-radius:9px;background:#fff;color:#858d89;font-size:7px;text-align:center}
.ahsim-surat-choice-empty.is-hidden{display:none!important}
@media(max-width:700px){
  .ahsim-surat-check-grid{grid-template-columns:1fr}
  .ahsim-surat-choice-details>summary{padding:10px 11px}
}

/* =========================================================
   V3.7.99 — POSISI PIHAK MENGETAHUI
   ========================================================= */
.ahsim-letter-ack .ahsim-letter-sign-grid.count-1{grid-template-columns:minmax(0,70mm);justify-content:center}
.ahsim-letter-ack .ahsim-letter-sign-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}


/* =========================================================
   V3.8.0 — REKAP HARIAN KHATAMAN
   ========================================================= */
.km-daily-overview-panel{
  margin-top:12px;
  padding:18px;
  border:1px solid #e5e0d6;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 22px rgba(22,55,45,.05);
}
.km-daily-overview-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:14px;
}
.km-daily-overview-head h3{
  margin:3px 0 4px;
  color:#173d33;
  font-family:Georgia,serif;
  font-size:22px;
  font-weight:400;
  line-height:1.2;
}
.km-daily-overview-head p{
  margin:0;
  max-width:680px;
  color:#7c8581;
  font-size:9px;
  line-height:1.55;
}
.km-daily-quick-links{display:flex;gap:7px;flex:0 0 auto}
.km-daily-quick-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid #dcd7cd;
  border-radius:999px;
  background:#fff;
  color:#39564e;
  font-size:9px;
  font-weight:800;
  text-decoration:none;
}
.km-daily-quick-links a.is-active{border-color:#07382d;background:#07382d;color:#fff}
.km-daily-date-filter{
  display:flex;
  align-items:flex-end;
  gap:8px;
  margin:0 0 14px;
  padding:11px 12px;
  border-radius:12px;
  background:#f8f6f1;
}
.km-daily-date-filter label{display:grid;gap:4px;min-width:190px}
.km-daily-date-filter label span{color:#738079;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.km-daily-date-filter input{
  min-height:37px;
  padding:0 10px;
  border:1px solid #d9d4ca;
  border-radius:9px;
  background:#fff;
  color:#183d33;
  font:inherit;
  font-size:10px;
}
.km-daily-date-filter button{
  min-height:37px;
  padding:0 14px;
  border:0;
  border-radius:9px;
  background:#07382d;
  color:#fff;
  font:inherit;
  font-size:9px;
  font-weight:900;
  cursor:pointer;
}
.km-daily-summary-cards{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:8px;
  margin-bottom:14px;
}
.km-daily-summary-cards>div{
  display:grid;
  gap:4px;
  min-height:70px;
  padding:11px 12px;
  border:1px solid #e4dfd5;
  border-radius:12px;
  background:#fbfaf7;
}
.km-daily-summary-cards span{color:#6d7974;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.km-daily-summary-cards b{color:#173d33;font-size:22px;line-height:1}
.km-daily-summary-cards .tone-danger{background:#fff5f3;border-color:#efc8c1}.km-daily-summary-cards .tone-danger b{color:#a63e31}
.km-daily-summary-cards .tone-pending{background:#fff9ec;border-color:#ead8a8}.km-daily-summary-cards .tone-pending b{color:#856517}
.km-daily-summary-cards .tone-excused{background:#f0f8f4;border-color:#cbe1d5}
.km-daily-summary-cards .tone-dispensed{background:#f2f5fa;border-color:#d2dbea}
.km-daily-summary-cards .tone-success{background:#f0f8f4;border-color:#c7e0d3}
.km-daily-overview-groups{display:grid;gap:8px}
.km-daily-overview-group{
  overflow:hidden;
  border:1px solid #e2ddd3;
  border-radius:12px;
  background:#fff;
}
.km-daily-overview-group>summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  cursor:pointer;
  list-style:none;
}
.km-daily-overview-group>summary::-webkit-details-marker{display:none}
.km-daily-overview-group>summary>div{display:flex;align-items:baseline;gap:9px}
.km-daily-overview-group>summary b{color:#173d33;font-size:11px}
.km-daily-overview-group>summary small{color:#8b918d;font-size:8px}
.km-daily-overview-group>summary>span{color:#7c8581;font-size:14px;transition:transform .2s ease}
.km-daily-overview-group[open]>summary>span{transform:rotate(180deg)}
.km-daily-overview-group.tone-danger>summary{background:#fff6f4}
.km-daily-overview-group.tone-pending>summary{background:#fffaef}
.km-daily-overview-group.tone-excused>summary{background:#f4faf7}
.km-daily-overview-group.tone-dispensed>summary{background:#f5f7fb}
.km-daily-overview-group.tone-success>summary{background:#f4faf7}
.km-daily-overview-list{border-top:1px solid #ebe6dc}
.km-daily-overview-row{
  display:grid;
  grid-template-columns:minmax(150px,.8fr) minmax(0,1.8fr);
  gap:14px;
  padding:10px 14px;
  border-bottom:1px solid #f0ece4;
}
.km-daily-overview-row:last-child{border-bottom:0}
.km-daily-overview-row b{color:#25483f;font-size:9px}
.km-daily-overview-row span{color:#7c8581;font-size:8.5px;line-height:1.45}
@media(max-width:900px){
  .km-daily-summary-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:650px){
  .km-daily-overview-panel{padding:14px;border-radius:14px}
  .km-daily-overview-head{align-items:flex-start;flex-direction:column;gap:10px}
  .km-daily-overview-head h3{font-size:19px}
  .km-daily-quick-links{width:100%}.km-daily-quick-links a{flex:1}
  .km-daily-date-filter{align-items:stretch;flex-direction:column}.km-daily-date-filter label{min-width:0;width:100%}.km-daily-date-filter button{width:100%}
  .km-daily-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .km-daily-overview-row{grid-template-columns:1fr;gap:3px}
}

/* V3.8.1 — Kepanitiaan gabungan */
.ahsim-committee-grid{display:grid;grid-template-columns:minmax(190px,260px) minmax(0,1fr);gap:12px;align-items:start;margin-top:12px}
.ahsim-committee-list{display:grid;gap:6px;position:sticky;top:12px}
.ahsim-committee-list-item{display:grid;gap:3px;padding:10px 11px;border:1px solid #e1ddd5;border-radius:10px;background:#fff;color:#42564f;text-decoration:none}
.ahsim-committee-list-item:hover{border-color:#9fb6ab}.ahsim-committee-list-item.active{border-color:#173d33;background:#f4f8f6;box-shadow:0 5px 16px rgba(23,61,51,.06)}
.ahsim-committee-list-item b{font-size:8.5px;color:#213e34}.ahsim-committee-list-item span{font-size:6.8px;color:#7e8883;font-weight:800}
.ahsim-committee-detail{min-width:0}.ahsim-committee-event{margin:0 0 3px;color:#314d43;font-size:8px;font-weight:900}.ahsim-committee-dates{margin:0 0 10px;color:#7a837e;font-size:7px}
.ahsim-committee-member-list{display:grid;border:1px solid #e5e1da;border-radius:11px;overflow:hidden;background:#fff}
.ahsim-committee-member-row{display:grid;grid-template-columns:54px minmax(180px,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid #f0ede7}.ahsim-committee-member-row:last-child{border-bottom:0}
.ahsim-committee-member-main{display:grid;grid-template-columns:minmax(115px,.7fr) minmax(140px,1fr);align-items:center;gap:4px 10px}.ahsim-committee-member-main span{font-size:7px;font-weight:900;color:#537066}.ahsim-committee-member-main b{font-size:8px;color:#243f36}.ahsim-committee-member-main small{grid-column:2;color:#8a918d;font-size:6.7px}
.ahsim-committee-member-form{display:grid;gap:9px;margin-top:10px;padding:11px;border:1px solid #e4e0d8;border-radius:11px;background:#fbfaf7}
@media(max-width:860px){.ahsim-committee-grid{grid-template-columns:1fr}.ahsim-committee-list{position:static;display:flex;overflow:auto;padding-bottom:2px}.ahsim-committee-list-item{min-width:185px}.ahsim-committee-member-row{grid-template-columns:48px 1fr}.ahsim-committee-member-row>.ahsim-official-actions{grid-column:1/-1;padding-left:56px}}
@media(max-width:560px){.ahsim-committee-member-main{grid-template-columns:1fr}.ahsim-committee-member-main small{grid-column:1}.ahsim-committee-member-row>.ahsim-official-actions{padding-left:0}}

/* V3.8.2 — Struktur pembina & cetak kepanitiaan */
.ahsim-committee-structure-groups{display:grid;gap:10px}
.ahsim-committee-member-block{display:grid;gap:0}
.ahsim-committee-member-block-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #d9e2dd;border-bottom:0;border-radius:11px 11px 0 0;background:#f4f8f6}
.ahsim-committee-member-block-title b{font-size:8px;color:#173d33}.ahsim-committee-member-block-title span{font-size:6.7px;color:#7d8983;font-weight:900}
.ahsim-committee-member-block.kind-advisor .ahsim-committee-member-block-title{background:#f7f5ee;border-color:#dfdacb}.ahsim-committee-member-block.kind-advisor .ahsim-committee-member-block-title b{color:#5b5237}
.ahsim-committee-member-block .ahsim-committee-member-list{border-radius:0 0 11px 11px}


/* V3.8.3/V3.8.8 — Kop Surat Panitia Gabungan */
.ahsim-letterhead-panitia{display:none}
.ahsim-letter-sheet.issuer-panitia .ahsim-letterhead-standard{display:none}
.ahsim-letter-sheet.issuer-panitia .ahsim-letterhead-panitia{display:grid;grid-template-columns:18mm minmax(0,1fr) 18mm;align-items:center;gap:2.5mm;padding:0 1mm 2.8mm;max-width:100%;overflow:hidden}
.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-logo{display:flex;align-items:center;justify-content:center;width:18mm;min-width:0;overflow:hidden}
.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-logo img,.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-logo.right img{display:block;width:15.5mm;height:17.5mm;max-width:100%;object-fit:contain}
.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-head-copy{text-align:center;width:100%;min-width:0;overflow:hidden;font-family:Georgia,"Times New Roman",serif;color:#173d33}
.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-name{margin:0;font-size:11.6pt;line-height:1.04;font-weight:900;letter-spacing:.004em;text-transform:uppercase;white-space:normal;overflow-wrap:break-word}
.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-org-line{margin-top:.6mm;font-size:9.65pt;line-height:1.04;font-weight:900;letter-spacing:0;white-space:nowrap}
.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-contact-line{display:flex;align-items:center;justify-content:center;gap:2.5mm;margin-top:1mm;font-family:"Trebuchet MS",Trebuchet,Arial,sans-serif;font-size:7.45pt;line-height:1.05;font-weight:700;color:#315b4e;white-space:nowrap}
.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-contact-item{display:inline-flex;align-items:center;gap:.7mm;min-width:0}
.ahsim-letter-sheet.issuer-panitia .ahsim-panitia-contact-item svg{width:3mm;height:3mm;fill:#173d33;flex:0 0 auto}
.ahsim-letter-sheet.issuer-panitia .ahsim-letterhead-rule{height:1.15mm;border-top:1.45pt solid #173d33;border-bottom:.55pt solid #173d33}
.ahsim-letter-sheet.issuer-panitia .ahsim-letter-footer-mark:before,.ahsim-letter-sheet.issuer-panitia .ahsim-letter-footer-mark b{background:#173d33}.ahsim-letter-sheet.issuer-panitia .ahsim-letter-footer-mark i{background:#315b4e}

/* V3.8.5 — stale Khataman upload */
.km-upload-incomplete-copy{background:#fff5f3!important;color:#8f3b31!important;border:1px solid #efd0ca}.km-upload-incomplete-copy b{color:#7d2f27}.km-upload-incomplete-copy code{font-size:inherit}
.status-upload_incomplete .km-review-status span{background:#fff0ed;color:#9b3c31}


/* V3.8.8 — containment preview Surat Menyurat */
.ahsim-surat-builder,.ahsim-surat-builder-grid,.ahsim-surat-form,.ahsim-surat-live-preview,.ahsim-letter-scale{min-width:0;max-width:100%}
.ahsim-surat-live-preview{overflow:hidden}
.ahsim-letter-scale{width:100%;box-sizing:border-box;overflow:auto;-webkit-overflow-scrolling:touch}

/* V3.8.10 — signature date alignment & optional paragraphs */
.ahsim-letter-paragraph.is-hidden{display:none!important}
.ahsim-letter-signature-area .ahsim-letter-sign-date{margin:0 auto 5pt;text-align:center}
.ahsim-letter-signature-area.signer-count-1 .ahsim-letter-sign-date{width:70mm;margin-left:auto;margin-right:0;text-align:center}
.ahsim-letter-signature-area.signer-count-2 .ahsim-letter-sign-date,
.ahsim-letter-signature-area.signer-count-3 .ahsim-letter-sign-date{width:100%;margin-left:auto;margin-right:auto;text-align:center}


/* V3.8.11 — align letter date with the right-most signer column */
.ahsim-letter-signature-area.signer-count-2 .ahsim-letter-sign-date{
  width:calc((100% - 12mm)/2);
  margin-left:auto;
  margin-right:0;
  text-align:center;
}
.ahsim-letter-signature-area.signer-count-3 .ahsim-letter-sign-date{
  width:calc((100% - 12mm)/3);
  margin-left:auto;
  margin-right:0;
  text-align:center;
}


/* V3.8.12 — exact date/signature column alignment */
.ahsim-letter-sign-date-grid{display:grid;align-items:end;margin:0 0 5pt;gap:12mm;width:100%}
.ahsim-letter-sign-date-grid.count-1{grid-template-columns:minmax(0,70mm);justify-content:end}
.ahsim-letter-sign-date-grid.count-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ahsim-letter-sign-date-grid.count-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:6mm}
.ahsim-letter-sign-date-grid .ahsim-letter-sign-date{width:auto!important;margin:0!important;text-align:center!important}
.ahsim-letter-sign-date-grid.count-1 .ahsim-letter-sign-date{grid-column:1}
.ahsim-letter-sign-date-grid.count-2 .ahsim-letter-sign-date{grid-column:2}
.ahsim-letter-sign-date-grid.count-3 .ahsim-letter-sign-date{grid-column:3}

/* V3.8.13 — Tanda tangan pengurus & surat */
.ahsim-official-signature-field{display:grid;gap:5px;align-content:start}
.ahsim-official-signature-field input[type=file]{width:100%;min-height:36px;border:1px dashed #cfd8d3;border-radius:9px;background:#fbfcfb;padding:6px 8px;font-size:7.5px;color:#365348}
.ahsim-official-signature-field>small{font-size:6.7px;color:#7b8781;font-weight:700;line-height:1.45}
.ahsim-official-signature-preview{display:flex;align-items:center;gap:8px;min-height:48px;padding:6px 8px;border:1px solid #e2e7e3;border-radius:9px;background:#fff}
.ahsim-official-signature-preview img{display:block;width:82px;height:40px;object-fit:contain;background:#fff}
.ahsim-official-signature-preview em{font-style:normal;font-size:6.8px;color:#527065;font-weight:800}
.ahsim-official-signature-preview.mini{min-height:38px}.ahsim-official-signature-preview.mini img{width:64px;height:31px}
.ahsim-official-remove-sign{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;gap:6px!important;font-size:6.8px!important;color:#8c3c31!important}
.ahsim-official-remove-sign input{width:auto!important;min-height:0!important;accent-color:#8c3c31}
.ahsim-surat-signature-toggle{display:flex!important;align-items:center;gap:9px;padding:8px 10px;border:1px solid #dbe3de;border-radius:10px;background:#f8fbf9}
.ahsim-surat-signature-toggle input{width:auto!important;min-height:0!important;accent-color:#173d33}
.ahsim-surat-signature-toggle span{display:grid;gap:1px}.ahsim-surat-signature-toggle b{font-size:8px;color:#29483d}.ahsim-surat-signature-toggle small{font-size:6.8px;color:#74817b;font-weight:700}
.ahsim-letter-sign-space.has-signature{display:flex;align-items:center;justify-content:center;overflow:visible}
.ahsim-letter-sign-image{display:block;max-width:56mm;max-height:19mm;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.ahsim-official-group-member-form{grid-template-columns:130px minmax(170px,1fr) minmax(170px,.85fr) auto auto}
@media(max-width:820px){.ahsim-official-group-member-form{grid-template-columns:1fr 1fr}.ahsim-official-group-member-form .ahsim-official-signature-field{grid-column:1/-1}}
@media(max-width:560px){.ahsim-official-group-member-form{grid-template-columns:1fr}.ahsim-official-group-member-form .ahsim-official-signature-field{grid-column:auto}}
@media print{.ahsim-letter-sign-image{mix-blend-mode:multiply}}

/* V3.8.18 — Stempel resmi + jabatan khusus per surat */
.ahsim-official-stamp-section{margin-top:12px}
.ahsim-official-stamp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ahsim-official-stamp-card{display:grid;gap:9px;padding:12px;border:1px solid #dfe7e2;border-radius:12px;background:#fff}
.ahsim-official-stamp-card>div{display:grid;gap:2px}.ahsim-official-stamp-card>div>b{font-size:9px;color:#23483c}.ahsim-official-stamp-card>div>small{font-size:7px;color:#7a8982;font-weight:700}
.ahsim-official-stamp-card label{display:grid;gap:5px;font-size:7.5px;font-weight:800;color:#435b52}
.ahsim-official-stamp-card input[type=file]{width:100%;border:1px dashed #cfd8d3;border-radius:9px;background:#fbfcfb;padding:7px;font-size:7px}
.ahsim-official-signature-preview.stamp img{width:68px;height:58px;object-fit:contain;background:transparent}
.ahsim-official-stamp-card button{justify-self:start}

.ahsim-role-override-body{display:grid;gap:12px}
.ahsim-role-override-group{display:grid;gap:7px}.ahsim-role-override-group>b{font-size:8px;color:#29483d}
.ahsim-role-override-row{display:grid!important;grid-template-columns:minmax(130px,.8fr) minmax(180px,1fr);gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #edf1ee}
.ahsim-role-override-row.is-hidden{display:none!important}
.ahsim-role-override-row span{display:grid;gap:1px;font-size:7.8px;font-weight:900;color:#29483d}.ahsim-role-override-row span small{font-size:6.7px;color:#7a8781;font-weight:700}
.ahsim-role-override-row input{min-width:0}

.ahsim-letter-sign-space.has-artwork{position:relative;display:block;overflow:visible;z-index:2}
.ahsim-letter-sign-space.has-artwork .ahsim-letter-stamp-image{position:absolute;z-index:2;left:50%;bottom:0.2mm;width:auto;max-width:31mm;max-height:28mm;transform:translate(calc(-78% + var(--stamp-x,0mm)),var(--stamp-y,0mm));object-fit:contain;opacity:.96;mix-blend-mode:multiply}
.ahsim-letter-sign-space.has-artwork .ahsim-letter-sign-image{position:absolute;z-index:3;left:50%;top:42%;max-width:56mm;max-height:19mm;transform:translate(-50%,-52%);object-fit:contain;mix-blend-mode:multiply}
.ahsim-letter-sign-card .ahsim-letter-sign-name{position:relative;z-index:1;display:inline-block;transform:translate(var(--name-x,0mm),var(--name-y,0mm));transform-origin:center top}

@media(max-width:760px){.ahsim-official-stamp-grid{grid-template-columns:1fr}.ahsim-role-override-row{grid-template-columns:1fr}}
@media print{
  .ahsim-letter-stamp-image,.ahsim-letter-sign-image{mix-blend-mode:multiply}
}


/* V3.8.20 — posisi stempel dapat diseret sebelum PDF */
.ahsim-stamp-adjust-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 9px;padding:7px 8px;border:1px solid #ddd9cf;border-radius:10px;background:#fff}
.ahsim-stamp-adjust-tools button{appearance:none;border:1px solid #173d33;border-radius:7px;background:#173d33;color:#fff;padding:6px 9px;font:inherit;font-size:7px;font-weight:900;cursor:pointer}
.ahsim-stamp-adjust-tools button.secondary{border-color:#d8d4cb;background:#fff;color:#425b53}
.ahsim-stamp-adjust-tools button.is-active{background:#b98a23;border-color:#b98a23;color:#fff}
.ahsim-stamp-adjust-tools button:disabled{opacity:.42;cursor:not-allowed}
.ahsim-stamp-adjust-tools small{flex:1 1 180px;color:#717b77;font-size:6.5px;line-height:1.35}
.ahsim-stamp-adjust-tools.is-preview{justify-content:flex-end;margin:0 0 10px}
.ahsim-stamp-adjust-tools.is-preview small{font-size:7px}
.ahsim-stamp-position-save{margin:0}
[data-stamp-adjust-scope].is-stamp-adjusting .ahsim-letter-stamp-image[data-stamp-draggable].is-artwork-selected{cursor:grab;touch-action:none;user-select:none;-webkit-user-drag:none;filter:drop-shadow(0 0 1px rgba(185,138,35,.9));outline:1px dashed rgba(185,138,35,.75);outline-offset:2px}
[data-stamp-adjust-scope].is-stamp-adjusting .ahsim-letter-stamp-image[data-stamp-draggable].is-dragging{cursor:grabbing;filter:drop-shadow(0 2px 3px rgba(0,0,0,.28));outline-style:solid}
.ahsim-letter-preview-toolbar button.secondary{border-color:#d9d5cc;background:#fff;color:#52635d}
@media(max-width:720px){.ahsim-stamp-adjust-tools{align-items:stretch}.ahsim-stamp-adjust-tools button{min-height:32px;font-size:8px}.ahsim-stamp-adjust-tools small{flex-basis:100%}}
@media print{.ahsim-stamp-adjust-tools,.ahsim-stamp-position-save,[data-stamp-adjust-toggle],[data-stamp-reset]{display:none!important}[data-stamp-adjust-scope].is-stamp-adjusting .ahsim-letter-stamp-image[data-stamp-draggable]{outline:none!important;filter:none!important}}

/* V3.8.22 — rapatkan jabatan, tanda tangan/stempel, dan nama */
/* Ukuran artwork tidak diubah; hanya ruang vertikal blok tanda tangan diringkas. */
.ahsim-letter-sign-role{min-height:4mm}
.ahsim-letter-sign-space{height:19mm}

/* V3.8.23 — Template Word Surat */
.ahsim-word-template-downloads{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.ahsim-word-template-standard{margin:9px 0 0;color:#6c766f;font-size:8px;line-height:1.55}
.ahsim-word-template-list{display:grid;gap:7px}
.ahsim-word-template-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid #e2ddd4;border-radius:11px;background:#fff}
.ahsim-word-template-row>div{display:grid;gap:2px}.ahsim-word-template-row b{color:#29483d;font-size:9px}.ahsim-word-template-row small{color:#8a918d;font-size:7px}.ahsim-word-template-row form{margin:0}.ahsim-word-template-row button{min-height:30px}
.ahsim-word-template-upload small,.ahsim-word-model-section small{font-size:7px;color:#7b847f}
@media(max-width:720px){.ahsim-word-template-row{align-items:stretch;flex-direction:column}.ahsim-word-template-row form button{width:100%}.ahsim-word-template-downloads>a{flex:1;text-align:center}}

/* V3.8.24 — Distribusi Massal Surat */
.ahsim-distribution-panel{margin-top:18px}.ahsim-distribution-note{margin:10px 0 0;color:#53655e;font-size:13px;line-height:1.55}.ahsim-distribution-existing{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;margin-top:10px;border:1px solid #dbe5e0;border-radius:14px;background:#fbfdfc}.ahsim-distribution-existing>div:first-child{display:flex;flex-direction:column;gap:3px}.ahsim-distribution-existing b{color:#173d33}.ahsim-distribution-existing small{color:#6b7b75}.ahsim-distribution-existing-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ahsim-distribution-existing-actions a,.ahsim-distribution-existing-actions button{white-space:nowrap}.ahsim-distribution-progress{height:12px;background:#edf2ef;border-radius:999px;overflow:hidden;margin:14px 0}.ahsim-distribution-progress i{display:block;height:100%;background:#214b3f;border-radius:999px;transition:width .25s ease}.ahsim-distribution-progress-card>p{color:#53655e;line-height:1.55}.ahsim-distribution-head{margin-bottom:16px}@media(max-width:760px){.ahsim-distribution-existing{align-items:flex-start;flex-direction:column}.ahsim-distribution-existing-actions{width:100%}}@media print{[data-no-print],.ahsim-distribution-panel{display:none!important}}

/* V3.8.26 — Preview Template Word */
.ahsim-word-live-preview{min-height:420px;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;padding:18px;background:#f7f8f6;border:1px solid #e0e5df;border-radius:14px}
.ahsim-word-live-preview.is-hidden,.ahsim-letter-scale.is-hidden{display:none!important}
.ahsim-word-live-preview-card{max-width:430px;text-align:center;padding:28px 24px;background:#fff;border:1px solid #dfe5df;border-radius:14px;box-shadow:0 8px 24px rgba(22,61,51,.06)}
.ahsim-word-live-preview-card b{display:block;font-size:18px;color:#173d33;margin-bottom:8px}
.ahsim-word-live-preview-card span{display:block;font-weight:600;margin-bottom:6px}
.ahsim-word-live-preview-card small{display:block;line-height:1.55;color:#647069}

.ahsim-word-review-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 10px;padding:12px 14px;border:1px solid #dfe5df;border-radius:12px;background:#fff}
.ahsim-word-review-head>div{display:grid;gap:3px;flex:1 1 320px}.ahsim-word-review-head b{font-size:13px;color:#173d33}.ahsim-word-review-head small{font-size:10px;line-height:1.5;color:#647069}.ahsim-word-review-head>a{white-space:nowrap}
.ahsim-word-pdf-preview-wrap{background:#eef1ee;border-radius:14px;padding:10px;min-height:760px}
.ahsim-word-pdf-preview{display:block;width:100%;height:78vh;min-height:760px;border:0;border-radius:10px;background:#fff}
@media(max-width:782px){.ahsim-word-live-preview{min-height:300px;padding:16px}.ahsim-word-pdf-preview-wrap{min-height:600px;padding:6px}.ahsim-word-pdf-preview{height:72vh;min-height:600px}}

@media(max-width:782px){.ahsim-word-review-head{align-items:stretch;flex-direction:column}.ahsim-word-review-head>a{text-align:center}}

/* V3.8.32 — Preview DOCX lokal, server-side */
.ahsim-word-live-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid #dfe5df;border-radius:10px;background:#fff}
.ahsim-word-live-preview-toolbar b{font-size:11px;color:#173d33}.ahsim-word-live-preview-toolbar small{font-size:8px;color:#647069;text-align:right}
.ahsim-word-live-preview-canvas{position:relative;min-height:560px;transition:opacity .15s ease}.ahsim-word-live-preview-canvas.is-loading{opacity:.45}
.ahsim-word-browser-preview-wrap{background:#eef1ee;border-radius:14px;padding:14px;min-height:720px;overflow:auto}
.ahsim-word-preview-paper{box-sizing:border-box;width:min(100%,794px);min-height:1123px;margin:0 auto;padding:56px 68px 58px;background:#fff;color:#111;box-shadow:0 2px 12px rgba(20,45,36,.13);font-family:"Trebuchet MS",Arial,sans-serif;font-size:10.5pt;line-height:1.45;overflow:hidden}
.ahsim-word-preview-paper p{margin:0 0 5pt;min-height:1em;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:8;-moz-tab-size:8}.ahsim-word-preview-paper table{width:100%;border-collapse:collapse;table-layout:fixed;margin:4pt 0}.ahsim-word-preview-paper td{vertical-align:top;padding:2pt 4pt;border:1px solid rgba(60,74,68,.16);overflow-wrap:anywhere}.ahsim-word-preview-paper img.ahsim-word-preview-image{display:inline-block;max-width:100%;height:auto;vertical-align:middle}.ahsim-word-preview-token{color:inherit!important}.ahsim-word-preview-header{margin-bottom:8pt}.ahsim-word-preview-footer{margin-top:14pt}.ahsim-template-immediate-preview .ahsim-word-live-preview{padding:14px}.ahsim-template-immediate-preview .ahsim-word-preview-paper{max-width:720px}
@media(max-width:782px){.ahsim-word-live-preview{min-height:300px;padding:8px}.ahsim-word-live-preview-toolbar{align-items:flex-start;flex-direction:column}.ahsim-word-live-preview-toolbar small{text-align:left}.ahsim-word-preview-paper{min-height:0;padding:28px 24px;font-size:9pt}.ahsim-word-browser-preview-wrap{min-height:420px;padding:6px}}



/* =========================================================
   V3.8.34 — SURAT PREVIEW STABIL
   Tidak memakai 100vw/margin negatif. Portal mengikuti container normal,
   sedangkan builder Surat memakai dua kolom hanya bila ruangnya benar-benar cukup.
   ========================================================= */
.ahsim-surat-builder{container-type:inline-size;container-name:ahsim-surat-builder}
.ahsim-surat-live-preview{align-self:start}
.ahsim-word-preview-loading{padding:24px 16px;text-align:center;color:#6d7872;font-size:10px}
.ahsim-word-preview-kop{margin-bottom:8pt}
.ahsim-word-preview-kop .ahsim-letterhead{padding:0!important;margin:0!important}
.ahsim-word-preview-kop .ahsim-letterhead-rule{margin-bottom:8pt}

@container ahsim-surat-builder (min-width: 900px){
  .ahsim-surat-builder-grid{grid-template-columns:minmax(360px,.90fr) minmax(430px,1.10fr);gap:18px}
  .ahsim-surat-live-preview{position:sticky;top:46px;max-height:calc(100vh - 62px);overflow:auto;z-index:3;box-shadow:0 10px 30px rgba(25,39,34,.08)}
  .admin-bar .ahsim-surat-live-preview{top:78px;max-height:calc(100vh - 94px)}
  .ahsim-word-live-preview-canvas,.ahsim-word-browser-preview-wrap{min-height:520px}
  .ahsim-word-preview-paper{min-height:0;aspect-ratio:210/297;padding:42px 48px 44px}
}

@container ahsim-surat-builder (max-width: 899px){
  .ahsim-surat-builder-grid{grid-template-columns:minmax(0,1fr)}
  .ahsim-surat-live-preview{order:-1;position:static;max-height:none;overflow:visible}
  .ahsim-word-live-preview-canvas,.ahsim-word-browser-preview-wrap{min-height:360px}
}

/* =========================================================
   V3.8.35 — REVIEW SURAT DI BAWAH, FULL WIDTH
   Form tidak lagi dibelah dua. Review selalu berada setelah form agar kertas
   mendapat lebar penuh dan tidak gepeng pada iPad/laptop.
   ========================================================= */
.ahsim-surat-builder-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
.ahsim-surat-builder-grid>.ahsim-surat-live-preview{order:initial!important;position:static!important;top:auto!important;max-height:none!important;overflow:visible!important;width:100%!important;z-index:auto!important;box-shadow:none!important}
.ahsim-surat-live-preview{margin-top:4px}
.ahsim-surat-live-preview .ahsim-word-live-preview{width:100%}
.ahsim-surat-live-preview .ahsim-word-live-preview-canvas{min-height:560px}
.ahsim-surat-live-preview .ahsim-word-preview-paper{width:min(100%,794px);min-height:1123px;aspect-ratio:auto;padding:56px 68px 58px}

/* Artwork dinamis Template Word: tanda tangan + stempel asli dari data pengurus. */
.ahsim-word-preview-single-artwork{display:inline-flex;align-items:center;justify-content:center;min-height:20mm;min-width:30mm;vertical-align:middle}
.ahsim-word-preview-single-signature{display:block;max-width:56mm;max-height:19mm;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.ahsim-word-preview-single-stamp{display:block;max-width:31mm;max-height:28mm;width:auto;height:auto;object-fit:contain;mix-blend-mode:multiply}
.ahsim-word-preview-artwork{position:relative;display:inline-block;width:60mm;height:23mm;vertical-align:middle;overflow:visible}
.ahsim-word-preview-artwork .ahsim-word-preview-stamp{position:absolute;z-index:1;left:50%;bottom:-3.2mm;width:auto;max-width:31mm;max-height:28mm;transform:translate(calc(-78% + var(--stamp-x,0mm)),var(--stamp-y,0mm));object-fit:contain;opacity:.96;mix-blend-mode:multiply}
.ahsim-word-preview-artwork .ahsim-word-preview-signature{position:absolute;z-index:2;left:50%;top:50%;width:auto;max-width:56mm;max-height:19mm;transform:translate(-50%,-52%);object-fit:contain;mix-blend-mode:multiply}
.ahsim-word-preview-paper .ahsim-letter-stamp-image[data-stamp-draggable]{touch-action:none;-webkit-user-drag:none}

@media(max-width:782px){
  .ahsim-surat-live-preview .ahsim-word-live-preview-canvas{min-height:360px}
  .ahsim-surat-live-preview .ahsim-word-preview-paper{min-height:0;padding:28px 24px;font-size:9pt}
}

/* =========================================================
   V3.8.36 — KOP PANITIA & BLOK TANDA TANGAN
   ========================================================= */
/* Preview Word wajib memakai aturan kop yang sama dengan Template Sistem. */
.ahsim-word-preview-kop.issuer-panitia .ahsim-letterhead-standard{display:none!important}
.ahsim-word-preview-kop.issuer-panitia .ahsim-letterhead-panitia{display:grid!important;grid-template-columns:18mm minmax(0,1fr) 18mm;align-items:center;gap:2.5mm;padding:0 1mm 2.8mm;max-width:100%;overflow:hidden}
.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-logo{display:flex;align-items:center;justify-content:center;width:18mm;min-width:0;overflow:hidden}
.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-logo img,.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-logo.right img{display:block;width:15.5mm;height:17.5mm;max-width:100%;object-fit:contain}
.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-head-copy{text-align:center;width:100%;min-width:0;overflow:hidden;font-family:Georgia,"Times New Roman",serif;color:#173d33}
.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-name{margin:0;font-size:11.6pt;line-height:1.04;font-weight:900;letter-spacing:.004em;text-transform:uppercase;white-space:normal;overflow-wrap:break-word}
.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-org-line{margin-top:.6mm;font-size:9.65pt;line-height:1.04;font-weight:900;letter-spacing:0;white-space:nowrap}
.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-contact-line{display:flex;align-items:center;justify-content:center;gap:2.5mm;margin-top:1mm;font-family:"Trebuchet MS",Trebuchet,Arial,sans-serif;font-size:7.45pt;line-height:1.05;font-weight:700;color:#315b4e;white-space:nowrap}
.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-contact-item{display:inline-flex;align-items:center;gap:.7mm;min-width:0}
.ahsim-word-preview-kop.issuer-panitia .ahsim-panitia-contact-item svg{width:3mm;height:3mm;fill:#173d33;flex:0 0 auto}
.ahsim-word-preview-kop.issuer-panitia .ahsim-letterhead-rule{height:1.15mm;border-top:1.45pt solid #173d33;border-bottom:.55pt solid #173d33}

/* Tidak memakai garis/underline pada nama penandatangan. */
.ahsim-letter-sign-name{text-decoration:none!important;text-underline-offset:0!important}

/* Rapatkan jabatan -> artwork -> nama pada Template Sistem. */
.ahsim-letter-sign-role{min-height:0!important;line-height:1.2!important;margin:0!important}
.ahsim-letter-sign-space{height:17mm!important}
.ahsim-letter-sign-space.has-artwork .ahsim-letter-sign-image{max-height:15mm!important}
.ahsim-letter-sign-space.has-artwork .ahsim-letter-stamp-image{max-height:22mm!important;bottom:0!important}
.ahsim-letter-sign-card p{margin:0!important;line-height:1.2!important}
.ahsim-letter-ack-title{margin-bottom:3pt!important}

/* Renderer Word: tabel tanpa border di DOCX tidak boleh diberi garis palsu. */
.ahsim-word-preview-paper table.ahsim-word-preview-borderless-table td{border:0!important}
.ahsim-word-preview-paper table.ahsim-word-preview-signature-table{margin:1pt 0!important}
.ahsim-word-preview-paper table.ahsim-word-preview-signature-table td{border:0!important;padding:0 3pt!important;vertical-align:middle!important}
.ahsim-word-preview-paper table.ahsim-word-preview-signature-table p{margin:0!important;min-height:0!important;line-height:1.2!important}

/* Artwork dinamis Word dibuat lebih pendek agar blok tanda tangan tidak makan tempat. */
.ahsim-word-preview-single-artwork{min-height:15mm!important}
.ahsim-word-preview-single-signature{max-height:15mm!important}
.ahsim-word-preview-single-stamp{max-height:22mm!important}
.ahsim-word-preview-artwork{height:17mm!important}
.ahsim-word-preview-artwork .ahsim-word-preview-stamp{max-height:22mm!important;bottom:0!important}
.ahsim-word-preview-artwork .ahsim-word-preview-signature{max-height:15mm!important}

/* =========================================================
   V3.8.37 — REVIEW ARSIP FULL + UKURAN TTD/STEMPEL
   ========================================================= */
.ahsim-surat-review-page{width:100%;max-width:none;min-width:0;box-sizing:border-box}
.ahsim-surat-review-page .ahsim-letter-preview-toolbar{width:100%;box-sizing:border-box;flex-wrap:wrap}
.ahsim-surat-review-page .ahsim-letter-preview-toolbar>div:last-child{flex-wrap:wrap;justify-content:flex-end}
.ahsim-surat-review-page .ahsim-word-review-head,
.ahsim-surat-review-page .ahsim-word-browser-preview-wrap,
.ahsim-surat-review-page .ahsim-letter-print-wrap{width:100%;max-width:none;min-width:0;box-sizing:border-box}
.ahsim-surat-review-page .ahsim-letter-print-wrap{display:block;overflow:auto;-webkit-overflow-scrolling:touch;text-align:center}
.ahsim-surat-review-page .ahsim-letter-sheet{display:inline-block;margin:0 auto;text-align:left;vertical-align:top;transform:none!important;transform-origin:top center}
.ahsim-surat-review-page .ahsim-word-browser-preview-wrap{overflow:auto;-webkit-overflow-scrolling:touch}
.ahsim-surat-review-page .ahsim-word-preview-paper{margin-left:auto;margin-right:auto}

.ahsim-artwork-size-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 6px;border:1px solid #e5e1d8;border-radius:8px;background:#f8faf8}
.ahsim-artwork-size-tools label{display:flex;align-items:center;gap:5px;color:#405a50;font-size:7px;font-weight:900;white-space:nowrap}
.ahsim-artwork-size-tools input[type=range]{width:110px;min-width:86px;accent-color:#173d33}
.ahsim-artwork-size-tools b{min-width:31px;color:#173d33;font-size:7px;text-align:right}
.ahsim-artwork-size-tools input:disabled{opacity:.38}

/* Scale berlaku pada Template Sistem dan Template Word. */
.ahsim-letter-sign-space.has-artwork .ahsim-letter-stamp-image,
.ahsim-word-preview-artwork .ahsim-word-preview-stamp{
  transform:translate(calc(-78% + var(--stamp-x,0mm)),var(--stamp-y,0mm)) scale(var(--stamp-scale,1))!important;
  transform-origin:center center;
}
.ahsim-letter-sign-space.has-artwork .ahsim-letter-sign-image,
.ahsim-word-preview-artwork .ahsim-word-preview-signature{
  transform:translate(calc(-50% + var(--signature-x,0mm)),calc(-52% + var(--signature-y,0mm))) scale(var(--signature-scale,1))!important;
  transform-origin:center center;
}
.ahsim-word-preview-single-signature{transform:translate(var(--signature-x,0mm),var(--signature-y,0mm)) scale(var(--signature-scale,1));transform-origin:center center}
.ahsim-word-preview-single-stamp{transform:translate(var(--stamp-x,0mm),var(--stamp-y,0mm)) scale(var(--stamp-scale,1));transform-origin:center center}
[data-stamp-adjust-scope].is-artwork-adjusting [data-artwork-kind="signature"].is-artwork-selected{cursor:grab;touch-action:none;user-select:none;outline:1px dashed rgba(23,61,51,.62);outline-offset:2px}
[data-stamp-adjust-scope].is-artwork-adjusting [data-artwork-kind="signature"].is-dragging{cursor:grabbing}
.ahsim-word-preview-artwork,.ahsim-word-preview-single-artwork{position:relative;z-index:6}
.ahsim-word-preview-artwork .ahsim-word-preview-signature{z-index:8!important}
.ahsim-word-preview-artwork .ahsim-word-preview-stamp{z-index:7!important}
.ahsim-word-preview-name-token{position:relative;z-index:2;display:inline-block;transform:translate(var(--name-x,0mm),var(--name-y,0mm));transform-origin:center center}
[data-stamp-adjust-scope].is-artwork-adjusting .ahsim-word-preview-name-token[data-name-draggable].is-artwork-selected{cursor:grab;touch-action:none;user-select:none;outline:1px dashed rgba(23,61,51,.62);outline-offset:2px}
[data-stamp-adjust-scope].is-artwork-adjusting .ahsim-word-preview-name-token[data-name-draggable].is-dragging{cursor:grabbing}
[data-stamp-adjust-scope].is-artwork-adjusting .ahsim-letter-sign-name[data-name-draggable].is-artwork-selected{cursor:grab;touch-action:none;user-select:none;outline:1px dashed rgba(23,61,51,.62);outline-offset:2px}
[data-stamp-adjust-scope].is-artwork-adjusting .ahsim-letter-sign-name[data-name-draggable].is-dragging{cursor:grabbing}

@media(max-width:782px){
  .ahsim-surat-review-page .ahsim-letter-preview-toolbar>div:last-child{width:100%;justify-content:flex-start}
  .ahsim-artwork-size-tools{width:100%;box-sizing:border-box}
  .ahsim-artwork-size-tools label{flex:1 1 210px}
  .ahsim-artwork-size-tools input[type=range]{flex:1;width:auto}
}
@media print{
  .ahsim-surat-review-page .ahsim-letter-sheet,.ahsim-surat-review-page .ahsim-word-preview-paper{zoom:1!important}
  .ahsim-artwork-size-tools{display:none!important}
}

/* V3.8.39 — Master data forms are compact/collapsible. */
.ahsim-master-collapsible{display:block;margin-top:12px;border:1px solid #dedbd2;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 2px 10px rgba(30,42,32,.035)}
.ahsim-master-collapsible[open]{overflow:visible}
.ahsim-master-collapsible-summary{display:flex;align-items:center;gap:11px;padding:13px 15px;cursor:pointer;list-style:none;background:linear-gradient(180deg,#fff,#faf9f6);user-select:none}
.ahsim-master-collapsible-summary::-webkit-details-marker{display:none}
.ahsim-master-collapsible-summary::marker{display:none;content:""}
.ahsim-master-collapsible-summary:hover{background:#f6f8f4}
.ahsim-master-collapsible-summary .ahsim-master-toggle-icon{display:grid;place-items:center;width:30px;height:30px;flex:0 0 30px;border-radius:9px;background:#eef4eb;color:#345b3a;font-size:17px;font-weight:800}
.ahsim-master-collapsible-summary>div{display:grid;gap:2px;min-width:0;flex:1}
.ahsim-master-collapsible-summary b{font-size:14px;color:#213a28}
.ahsim-master-collapsible-summary small{font-size:11px;color:#7b817b;font-weight:500}
.ahsim-master-collapsible-summary>em{font-style:normal;font-size:11px;font-weight:800;color:#496b4c;border:1px solid #d9e4d6;border-radius:999px;padding:5px 9px;background:#fff}
.ahsim-master-collapsible[open]>.ahsim-master-collapsible-summary>em{font-size:0}
.ahsim-master-collapsible[open]>.ahsim-master-collapsible-summary>em::after{content:"Tutup";font-size:11px}
.ahsim-master-collapsible-body{padding:0 12px 12px;border-top:1px solid #eceae4;background:#fff}
.ahsim-master-collapsible-body>.ahsim-surat-form-section{margin:12px 0 0!important;border:0!important;box-shadow:none!important;padding:0!important;background:transparent!important}
.ahsim-master-collapsible-body>.ahsim-surat-form-section>.ahsim-surat-section-title{display:none!important}
.ahsim-master-collapsible-body>.ahsim-committee-member-form,.ahsim-master-collapsible-body>.ahsim-official-group-member-form{margin-top:12px}
.ahsim-master-inline-toggle,.ahsim-master-member-toggle{box-shadow:none;background:#fbfcfa}
.ahsim-master-inline-toggle .ahsim-master-collapsible-summary,.ahsim-master-member-toggle .ahsim-master-collapsible-summary{padding:10px 12px}
.ahsim-master-stamp-collapsible{margin-top:22px;margin-bottom:4px}
.ahsim-master-stamp-collapsible .ahsim-master-toggle-icon{background:#f5efe3;color:#6f552a}
.ahsim-official-entry-grid{grid-template-columns:1fr!important;gap:0!important;margin-top:0!important}
.ahsim-official-entry-grid>.ahsim-master-collapsible{width:100%}
@media(max-width:700px){.ahsim-master-collapsible-summary{align-items:flex-start}.ahsim-master-collapsible-summary>em{margin-left:auto}.ahsim-master-collapsible-body{padding:0 9px 9px}}


/* V3.8.41 — pilih TTD/Stempel per item sebelum mengubah ukuran/posisi. */
.ahsim-artwork-target-picker{display:none;flex:1 1 100%;padding:8px 9px;border:1px solid #e5e1d8;border-radius:9px;background:#fbfcfb}
[data-stamp-adjust-scope].is-artwork-adjusting .ahsim-artwork-target-picker{display:block}
.ahsim-artwork-target-picker>b{display:block;margin:0 0 6px;color:#173d33;font-size:8px}
.ahsim-artwork-target-list{display:flex;gap:6px;flex-wrap:wrap}
.ahsim-artwork-target-list>small{font-size:7px;color:#76817c}
.ahsim-artwork-target-option{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:4px 7px;border:1px solid #ddd9cf;border-radius:8px;background:#fff;color:#425b53;font-size:7.5px;font-weight:800;cursor:pointer}
.ahsim-artwork-target-option input{width:14px;height:14px;margin:0;accent-color:#173d33}
.ahsim-artwork-target-option:has(input:checked){border-color:#173d33;background:#edf5f1;color:#173d33}
[data-stamp-adjust-scope].is-artwork-adjusting [data-artwork-kind].is-artwork-selected{filter:drop-shadow(0 0 2px rgba(23,61,51,.18))}
@media(max-width:782px){
  .ahsim-artwork-target-list{display:grid;grid-template-columns:1fr}
  .ahsim-artwork-target-option{font-size:9px;min-height:34px}
  .ahsim-artwork-size-tools{width:100%}
  .ahsim-artwork-size-tools label{font-size:9px;flex:1 1 100%;white-space:normal}
  .ahsim-artwork-size-tools input[type=range]{flex:1;width:auto}
}
@media print{.ahsim-artwork-target-picker{display:none!important}}

/* V3.8.43 — Panitia Kegiatan Musholla */
.ahsim-letterhead-panitia .ahsim-panitia-logo.is-empty{visibility:hidden}
.ahsim-letterhead-panitia .ahsim-panitia-org-line.is-empty,
.ahsim-letterhead-panitia .ahsim-panitia-contact-line.is-empty{display:none}

/* V3.8.44 — opsi stempel per penandatangan */
.ahsim-surat-signature-toggle.compact{display:inline-flex;align-items:center;gap:8px;margin:0;padding:0;border:0;background:transparent;white-space:nowrap}
.ahsim-surat-signature-toggle.compact input{width:18px;height:18px;margin:0;flex:0 0 auto}
.ahsim-surat-signature-toggle.compact em{font-style:normal;font-size:12px;font-weight:700;color:inherit}

/* V3.8.51 — kelompok posisi/seksi tampil satu judul untuk banyak orang */
.ahsim-committee-position-group{display:grid;border-bottom:1px solid #eeeae4;background:#fff}
.ahsim-committee-position-group:last-child{border-bottom:0}
.ahsim-committee-position-title{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;background:#f8faf8;border-bottom:1px solid #ecefeC}
.ahsim-committee-position-title b{font-size:7.5px;color:#24483c}.ahsim-committee-position-title span{font-size:6.5px;color:#87928d;font-weight:800}
.ahsim-committee-position-group .ahsim-committee-member-row{border-bottom:1px solid #f3f0ea}
.ahsim-committee-position-group .ahsim-committee-member-row:last-child{border-bottom:0}
.ahsim-committee-member-row.is-grouped-member .ahsim-committee-member-main span:empty{display:none}
.ahsim-committee-member-row.is-grouped-member .ahsim-committee-member-main{grid-template-columns:minmax(140px,1fr)}
.ahsim-committee-member-row.is-grouped-member .ahsim-committee-member-main small{grid-column:1}

/* V3.8.57 — Review PDF resmi memakai file yang sama dengan final */
.ahsim-exact-pdf-review{margin-top:28px;border-top:3px solid #173d33;padding-top:18px}
.ahsim-exact-pdf-review .ahsim-word-review-head{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:12px}
.ahsim-exact-pdf-review .ahsim-word-review-head>div:first-child{display:flex;flex-direction:column;gap:3px}
.ahsim-exact-pdf-review .ahsim-word-review-head>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.ahsim-exact-pdf-frame-wrap{width:100%;background:#dfe3e1;border:1px solid #c3cbc7;border-radius:12px;padding:10px;box-sizing:border-box}
.ahsim-exact-pdf-frame{display:block;width:100%;height:1120px;border:0;border-radius:8px;background:#fff}
@media(max-width:820px){.ahsim-exact-pdf-frame{height:78vh;min-height:720px}.ahsim-exact-pdf-frame-wrap{padding:4px}.ahsim-exact-pdf-review .ahsim-word-review-head{align-items:flex-start}}

/* V3.8.59 — final PDF browser capture */
.ahsim-final-capture-status{margin:10px 0;padding:10px 12px;border:1px solid #d8d5cc;border-radius:10px;background:#fff;color:#5d665f;font-size:8.5pt;line-height:1.45}
.ahsim-final-capture-status.is-working{border-color:#b9c9c2;background:#f3f8f6;color:#315b4e}
.ahsim-final-capture-status.is-ready{border-color:#a8c6b9;background:#eff8f3;color:#1d5b42;font-weight:700}
.ahsim-final-capture-status.is-error{border-color:#dfb1ad;background:#fff4f2;color:#8a2f28;font-weight:700}
.ahsim-exact-pdf-review [data-capture-final-pdf][disabled]{opacity:.65;cursor:wait}


/* V3.8.60 — Review adalah tampilan final; kontrol arsip dibuat ringkas. */
.ahsim-final-archive-details{margin-top:12px;border:1px solid #dfe5df;border-radius:12px;background:#fff;overflow:hidden}
.ahsim-final-archive-details>summary{cursor:pointer;list-style:none;padding:11px 14px;color:#496159;font-size:10px;font-weight:800;background:#fafcfb}
.ahsim-final-archive-details>summary::-webkit-details-marker{display:none}
.ahsim-final-archive-details>summary::after{content:"Buka";float:right;color:#8b9691;font-size:8px}
.ahsim-final-archive-details[open]>summary::after{content:"Tutup"}
.ahsim-final-archive-body{padding:12px 14px;border-top:1px solid #e7ece9}
.ahsim-final-upload-form{display:flex;align-items:end;gap:10px;flex-wrap:wrap}
.ahsim-final-upload-form label{display:grid;gap:5px;flex:1 1 280px;color:#53655e;font-size:9px;font-weight:700}
.ahsim-final-upload-form input[type=file]{width:100%;box-sizing:border-box;border:1px solid #d9dedb;border-radius:9px;background:#fff;padding:8px}
.ahsim-final-upload-form button{border:1px solid #173d33;border-radius:8px;background:#173d33;color:#fff;padding:9px 12px;font-weight:900;cursor:pointer}
.ahsim-distribution-note{display:none!important}
@media print{.ahsim-final-archive-details{display:none!important}}

/* V3.8.63 — riwayat distribusi tidak memenuhi halaman Review */
.ahsim-distribution-history{margin-top:12px;border:1px solid #dbe5e0;border-radius:14px;background:#fbfdfc;overflow:hidden}
.ahsim-distribution-history>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 15px;color:#173d33;font-weight:700}
.ahsim-distribution-history>summary::-webkit-details-marker{display:none}
.ahsim-distribution-history>summary:after{content:'▾';font-size:14px;transition:transform .2s ease}
.ahsim-distribution-history[open]>summary:after{transform:rotate(180deg)}
.ahsim-distribution-history>summary span{display:block;flex:1}
.ahsim-distribution-history>summary small{font-weight:500;color:#6b7b75;margin-left:auto}
.ahsim-distribution-history-body{padding:0 12px 12px;border-top:1px solid #e8efeb}
.ahsim-distribution-history-body .ahsim-distribution-existing{margin-top:10px}
@media(max-width:760px){.ahsim-distribution-history>summary{align-items:flex-start;flex-wrap:wrap}.ahsim-distribution-history>summary small{width:100%;margin-left:0}}

/* V3.8.79 — QR Validasi Surat */
.ahsim-letter-validation-qr{position:absolute;left:18mm;bottom:7mm;z-index:5;width:18mm;height:18mm;display:block;padding:1mm;background:rgba(255,255,255,.96);border-radius:1.5mm;box-sizing:border-box}
.ahsim-letter-validation-qr.is-hidden{display:none!important}
.ahsim-letter-validation-qr img{display:block;width:16mm;height:16mm;object-fit:contain;image-rendering:auto;background:#fff}
.ahsim-word-preview-paper{position:relative}
.ahsim-word-preview-paper>.ahsim-letter-validation-qr{left:18mm;bottom:7mm}
@media(max-width:782px){.ahsim-letter-validation-qr{left:14mm;bottom:6mm}}
@media print{.ahsim-letter-validation-qr{background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* =========================================================
   V3.8.86 — KHATAMAN ADMIN LAZY LOAD
   ========================================================= */
.km-admin-stats-light{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.km-video-open{
  width:160px;
  height:284px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  border:0;
  border-radius:10px;
  background:linear-gradient(160deg,#17211e,#050706);
  color:#fff;
  cursor:pointer;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.km-video-open span{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  padding-left:3px;
  border-radius:50%;
  background:rgba(255,255,255,.16);
  font-size:22px;
  line-height:1;
}
.km-video-open small{
  color:rgba(255,255,255,.82);
  font-size:9px;
  font-weight:900;
  letter-spacing:.03em;
}
.km-video-open:hover span,
.km-video-open:focus-visible span{
  background:rgba(255,255,255,.24);
}
@media(max-width:560px){
  .km-admin-stats-light{grid-template-columns:1fr 1fr}
}

/* =========================================================
   V3.8.90 — PEMULIHAN KHATAMAN SISTEM/JARINGAN
   ========================================================= */
.km-daily-summary-cards .tone-recovered{background:#f1f7fb;border-color:#cbdde9}.km-daily-summary-cards .tone-recovered b{color:#35657e}
.km-daily-overview-group.tone-recovered>summary{background:#f3f8fb}
.km-recovery-box{margin:12px 0 14px;border:1px solid #d8e2e7;border-radius:14px;background:#fff;overflow:hidden}
.km-recovery-box>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;background:#f5f9fb}
.km-recovery-box>summary::-webkit-details-marker{display:none}.km-recovery-box>summary>div{display:grid;gap:2px}.km-recovery-box>summary b{color:#294f62;font-size:10px}.km-recovery-box>summary small{color:#788a92;font-size:8px;line-height:1.45}.km-recovery-box>summary>span{color:#608091;font-size:15px;transition:transform .2s ease}.km-recovery-box[open]>summary>span{transform:rotate(180deg)}
.km-recovery-body{display:grid;gap:12px;padding:13px}.km-recovery-note{margin:0;padding:10px 11px;border:1px solid #dce7ec;border-radius:10px;background:#f8fbfc;color:#52676f;font-size:8.5px;line-height:1.55}.km-recovery-note b{color:#2c5669}
.km-recovery-form,.km-recovery-cancel-form{display:grid;gap:10px}.km-recovery-cancel-form{padding-top:11px;border-top:1px solid #e7ecee}.km-recovery-cancel-form>b{color:#4c626b;font-size:9px}
.km-recovery-scope{display:flex;flex-wrap:wrap;gap:7px}.km-recovery-scope label,.km-recovery-people label{display:flex;align-items:center;gap:7px;cursor:pointer}.km-recovery-scope label{padding:8px 10px;border:1px solid #dde5e8;border-radius:9px;background:#fafcfc;color:#445c65;font-size:8.5px;font-weight:800}
.km-recovery-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto;padding:8px;border:1px solid #e2e8ea;border-radius:10px;background:#fafcfc}.km-recovery-people label{padding:7px 8px;border-radius:7px;background:#fff;color:#425860;font-size:8.5px}.km-recovery-people input{flex:0 0 auto}
.km-recovery-note-field{display:grid;gap:4px}.km-recovery-note-field>span{color:#708088;font-size:7px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.km-recovery-note-field input{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #d8e1e4;border-radius:9px;background:#fff;color:#314951;font-size:9px}
.km-recovery-submit,.km-recovery-cancel{justify-self:start;border:0;border-radius:9px;padding:9px 12px;font-size:8.5px;font-weight:900;cursor:pointer}.km-recovery-submit{background:#315f73;color:#fff}.km-recovery-submit:disabled{opacity:.45;cursor:not-allowed}.km-recovery-cancel{border:1px solid #dfc5c1;background:#fff7f5;color:#93483d}
.km-daily-row.tone-recovered{border-left-color:#5f8fa8;background:#f7fbfd}.km-daily-row.tone-recovered .km-daily-status b{color:#396d86}
@media(max-width:720px){.km-recovery-scope{display:grid}.km-recovery-people{grid-template-columns:1fr}.km-recovery-submit,.km-recovery-cancel{width:100%;justify-self:stretch}}

/* =========================================================
   V3.8.92 — WORD CUSTOM TAB STOPS
   Preview membaca posisi tab stop DOCX per paragraf/style. Field sesudah TAB
   ditempatkan pada koordinat Word (twips -> pt), bukan tab-size browser.
   ========================================================= */
.ahsim-word-tab-line{position:relative;display:block;width:100%;min-height:1.25em;white-space:normal}
.ahsim-word-tab-base{display:inline;white-space:pre-wrap}
.ahsim-word-tab-field{position:absolute;top:0;display:inline-block;white-space:pre-wrap;max-width:100%;transform-origin:left top}
.ahsim-word-tab-left{transform:none}
.ahsim-word-tab-center{transform:translateX(-50%)}
.ahsim-word-tab-right{transform:translateX(-100%)}
.ahsim-word-tab-decimal{transform:translateX(-100%)}
.ahsim-word-tab-line>.ahsim-word-tab-base,.ahsim-word-tab-line>.ahsim-word-tab-field{z-index:2;background:#fff}
.ahsim-word-tab-leader{position:absolute;z-index:1;top:.88em;height:0;pointer-events:none}
.ahsim-word-tab-leader-dot,.ahsim-word-tab-leader-middledot{border-bottom:1px dotted currentColor}
.ahsim-word-tab-leader-hyphen{border-bottom:1px dashed currentColor}
.ahsim-word-tab-leader-underscore{border-bottom:1px solid currentColor}
.ahsim-word-tab-leader-heavy{border-bottom:2px solid currentColor}

/* V3.8.94 — kontrol posisi artwork Template Word eksternal */
[data-stamp-adjust-scope].is-artwork-adjusting [data-signature-draggable].is-artwork-selected,[data-stamp-adjust-scope].is-artwork-adjusting [data-name-draggable].is-artwork-selected{touch-action:none;user-select:none;-webkit-user-drag:none}


/* =========================================================
   V3.8.99 — TEMPLATE WORD: TAB STOP SIGNATURE STACK
   Template eksternal sering menaruh jabatan / artwork / nama dalam paragraph
   terpisah tetapi memakai Tab Stop yang sama. Field tab tidak boleh punya bidang
   putih sendiri karena akan menutup TTD/stempel dari paragraph sebelumnya.
   ========================================================= */
.ahsim-word-preview-signature-artwork-line{
  position:relative!important;
  z-index:30!important;
  min-height:19mm!important;
  overflow:visible!important;
}
.ahsim-word-preview-signature-artwork-line .ahsim-word-tab-line{
  min-height:19mm!important;
  overflow:visible!important;
}
.ahsim-word-preview-signature-artwork-line .ahsim-word-tab-field{
  z-index:32!important;
  background:transparent!important;
  overflow:visible!important;
}
.ahsim-word-preview-signature-artwork-line .ahsim-word-preview-artwork,
.ahsim-word-preview-signature-artwork-line .ahsim-word-preview-single-artwork{
  z-index:40!important;
  overflow:visible!important;
}
.ahsim-word-preview-signature-name-line{
  position:relative!important;
  z-index:20!important;
  min-height:1.35em!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
}
.ahsim-word-preview-signature-name-line .ahsim-word-tab-line,
.ahsim-word-preview-signature-name-line .ahsim-word-tab-field,
.ahsim-word-preview-signature-name-line .ahsim-word-tab-base{
  background:transparent!important;
}
.ahsim-word-preview-signature-name-line .ahsim-word-tab-field{z-index:21!important;color:inherit!important;visibility:visible!important;opacity:1!important}
.ahsim-word-preview-signature-name-line .ahsim-word-preview-name-token{z-index:22!important;color:inherit!important;visibility:visible!important;opacity:1!important}
.ahsim-word-preview-signature-role-line .ahsim-word-tab-field,
.ahsim-word-preview-signature-role-line .ahsim-word-tab-base{background:transparent!important}


/* V3.9.00 — Nama penandatangan tidak boleh menjadi "jin".
   Artwork tetap paling depan; nama berada di tengah; konten Word biasa di belakang. */
.ahsim-word-preview-signature-role-line{position:relative;z-index:10!important}
.ahsim-word-preview-signature-name-line .ahsim-word-tab-line{position:relative;z-index:20!important;overflow:visible!important}
.ahsim-word-preview-signature-name-line span{visibility:visible!important;opacity:1!important}

/* V3.9.02 — Seragamkan toolbar Review Surat dan tab navigasi Surat */
.ahsim-master-tabs a,.ahsim-letter-preview-toolbar a,.ahsim-letter-preview-toolbar button{vertical-align:middle}

/* V3.9.04 — Form edit anggota panitia inline tepat di bawah nama. */
.ahsim-committee-member-row.is-editing-member{background:#f2f8f5;box-shadow:inset 3px 0 0 #173d33}
.ahsim-committee-inline-member-editor{margin:0!important;border:0!important;border-top:1px solid #dce6e1!important;border-bottom:1px solid #dce6e1!important;border-radius:0!important;background:#f7faf8!important;box-shadow:none!important}
.ahsim-committee-inline-member-editor>.ahsim-master-collapsible-summary{padding:9px 12px!important;background:#edf5f1}
.ahsim-committee-inline-member-editor>.ahsim-master-collapsible-body{padding:12px!important}
.ahsim-committee-inline-member-editor .ahsim-committee-member-form{margin:0}
@media(max-width:560px){.ahsim-committee-inline-member-editor>.ahsim-master-collapsible-body{padding:10px!important}}
