:root{
  /* ธีมสี CI ใหม่ — เหลืองสด #EEEC59 / เขียวพาสเทล #A8F0CF / ชมพูพาสเทล #F79AC0 (ไม่ใช้เขียวเข้มแก่แบบเดิมแล้ว)
     สีเน้นหลัก (เดิมเป็นชุดสีม่วง/berry) เปลี่ยนเป็น #FFC010 ตามที่ลูกค้ากำหนด
     ตัวแปร berry-* ยังใช้ชื่อเดิมเพื่อไม่ต้องไล่แก้ทุกจุดที่อ้างถึง แต่ค่าสีเป็นชุดเหลืองอำพันแล้ว:
       --berry-800 = สีเน้นสำหรับ "ตัวอักษร/เส้นขอบบนพื้นขาว" ใช้เฉดเข้มพอให้อ่านออก (contrast 4.6:1)
       --accent    = #FFC010 ตัวจริง ใช้กับพื้นปุ่ม/พื้นการ์ด (ต้องวางตัวอักษรสีเข้มทับ)
       --accent-on = สีตัวอักษรที่วางบนพื้น --accent */
  --accent:#FFC010;
  --accent-soft:#FFF3D1;
  --accent-on:#4A3400;
  --berry-950:#4A3400;
  --berry-800:#8A6400;
  --berry-700:#A57800;
  --paper:#F5F5F0;
  --card:#FFFFFF;
  --gold:#EEEC59;
  --action-yellow:#FAC240;
  --gold-deep:#7A6F00;
  --gold-tint:#FBFAD8;
  --green:#A8F0CF;
  --green-deep:#1A8A61;
  --green-tint:#EBFCF5;
  --pink:#F79AC0;
  --pink-deep:#C23E7C;
  --pink-tint:#FDEBF3;
  --ink:#1A1D24;
  --ink-soft:#5B6472;
  --ink-faint:#8A93A3;
  --sage:#3F7A4E;
  --sage-tint:#E4EEE7;
  --brick:#B14B3F;
  --brick-tint:#F5E5E2;
  --blue-deep:#2A5FB0;
  --blue-tint:#E6EEFB;
  --teal-deep:#0F7A72;
  --teal-tint:#E2F5F3;
  --line:#E2E5EA;
  --font-display:'DB OZONE X',sans-serif;
  --font-body:'DB OZONE X',sans-serif;
  --font-mono:'DB OZONE X',monospace;
  --radius:14px;
}
@font-face{font-family:'DB OZONE X';src:url('../fonts/DB OZONE X LIGHT.TTF') format('truetype');font-weight:300;font-style:normal;font-display:swap;}
@font-face{font-family:'DB OZONE X';src:url('../fonts/DB OZONE X.TTF') format('truetype');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'DB OZONE X';src:url('../fonts/DB OZONE X IT V3.2.TTF') format('truetype');font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:'DB OZONE X';src:url('../fonts/DB OZONE X MEDIUM.TTF') format('truetype');font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:'DB OZONE X';src:url('../fonts/DB OZONE X MEDIUM.TTF') format('truetype');font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:'DB OZONE X';src:url('../fonts/DB OZONE X BOLD.TTF') format('truetype');font-weight:700;font-style:normal;font-display:swap;}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;}
h1,h2,h3,.display{font-family:var(--font-display);}
a{color:inherit;}

.seal{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.seal svg{display:block;}
/* ระบายสีไอคอน seal ผ่าน custom property ที่ inherit เข้าไปใน shadow tree ของ <use> ได้จริง
   (descendant selector แบบ .seal--x circle.ring ใช้ไม่ได้กับ <use> ในเบราว์เซอร์จริง) */
.seal--gold,use.seal--gold{--seal-ring:var(--gold);--seal-core:var(--gold-tint);--seal-mark:var(--gold-deep);}
.seal--sage,use.seal--sage{--seal-ring:var(--sage);--seal-core:var(--sage-tint);--seal-mark:var(--sage);}
.seal--muted,use.seal--muted{--seal-ring:var(--ink-faint);--seal-core:#EEF0F3;--seal-mark:var(--ink-faint);}

.persona-bar{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 28px;background:var(--gold);color:var(--ink);}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-size:26px;letter-spacing:.2px;}
.brand img.logo{height:36px;width:auto;display:block;flex-shrink:0;}
.brand span.sub{font-family:var(--font-body);font-size:18px;color:var(--gold-deep);letter-spacing:.5px;display:block;margin-top:1px;}
.persona-toggle{display:flex;align-items:center;gap:14px;}
.persona-toggle .who{font-size:20px;color:var(--ink-soft);}
.persona-toggle a.btn-logout{border:1.5px solid var(--ink);color:var(--ink);font-size:19.5px;font-weight:600;padding:8px 16px;border-radius:999px;text-decoration:none;white-space:nowrap;}
.header-search{display:flex;align-items:center;background:rgba(255,255,255,.55);border-radius:999px;padding:2px 4px 2px 14px;}
.header-search input{border:none;background:none;color:var(--ink);font-family:var(--font-body);font-size:20px;width:180px;outline:none;}
.header-search input::placeholder{color:var(--gold-deep);}
.header-search button{border:none;background:var(--green);color:var(--ink);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;}

.banner-full{border-radius:0;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;margin-bottom:0;}
.banner-full .slide img,.banner-full .slide video{aspect-ratio:auto;height:min(56vw,480px);}

.student-shell{max-width:1180px;margin:0 auto;padding:24px 28px 80px;}

.search-row{display:flex;gap:10px;position:relative;max-width:640px;}
.search-row input{flex:1;border:none;border-radius:10px;padding:13px 16px;font-family:var(--font-body);font-size:21px;background:rgba(255,255,255,.95);}
.search-row button{border:none;border-radius:10px;padding:13px 22px;background:var(--gold);color:var(--berry-950);font-family:var(--font-body);font-weight:600;font-size:21px;cursor:pointer;}
.chips{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap;position:relative;}
.chips-plain{margin-top:24px;margin-bottom:24px;}

.quicknav{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px 36px;padding:8px 0;margin:4px 0 24px;}
.qn-item{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink);border-radius:999px;padding:4px 10px;margin:-4px -10px;transition:background .15s ease;}
.qn-item:hover{background:var(--paper);}
.qn-item.active{background:var(--paper);}
.qn-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.qn-icon svg{width:20px;height:20px;}
.qn-label{font-size:18.5px;font-weight:600;white-space:nowrap;}
.qn-sage{background:var(--sage-tint);color:var(--sage);}
.qn-blue{background:var(--blue-tint);color:var(--blue-deep);}
.qn-gold{background:var(--gold-tint);color:var(--gold-deep);}
.qn-brick{background:var(--brick-tint);color:var(--brick);}
.qn-pink{background:var(--pink-tint);color:var(--pink-deep);}
.qn-teal{background:var(--teal-tint);color:var(--teal-deep);}

.cta-row{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:0 auto 22px;}
.status-cta{display:flex;justify-content:center;align-items:center;gap:8px;background:var(--green);color:var(--ink);border-radius:999px;padding:10px 20px;text-decoration:none;width:fit-content;font-size:17.5px;font-weight:600;transition:background .2s ease,transform .2s ease;}
.status-cta:hover{background:var(--action-yellow);transform:translateY(-2px);}
.status-cta svg{width:18px;height:18px;flex-shrink:0;}
.status-cta--ghost{background:none;border:1.5px solid var(--sage);color:var(--sage);}
.status-cta--ghost:hover{background:var(--sage-tint);}
.cta-row .status-cta{margin:0;}

.back-link{display:inline-block;color:var(--ink-soft);text-decoration:none;font-size:18px;font-weight:600;margin-bottom:18px;}
.back-link:hover{color:var(--berry-800);}
.chip{border:1px solid rgba(138,100,0,.35);color:var(--berry-800);font-size:19.5px;padding:6px 14px;border-radius:999px;text-decoration:none;display:inline-block;}
.chip.active{background:var(--gold);border-color:var(--gold);color:var(--ink);font-weight:600;}

.btn-ghost{border:1px solid var(--berry-800);color:var(--berry-800);background:none;padding:9px 16px;border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:20px;cursor:pointer;text-decoration:none;display:inline-block;}

.section-title{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;padding-bottom:14px;border-bottom:1px solid var(--line);}
.section-title h2{font-size:27px;font-weight:600;margin:0;}
.section-title span{font-size:19.5px;color:var(--ink-faint);}

.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.schol-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.schol-card:hover{transform:translateY(-6px);box-shadow:0 16px 34px rgba(0,49,47,.16);border-color:transparent;}
.schol-card .tag{display:inline-block;font-size:18px;font-weight:600;color:var(--sage);background:var(--sage-tint);padding:3px 10px;border-radius:999px;margin-bottom:12px;}
.schol-card .tag.closed{color:var(--brick);background:var(--brick-tint);}
.schol-card h3{font-size:23.5px;margin:0 0 6px;font-weight:600;line-height:1.4;}
.schol-card .schol-img{margin:-20px -20px 14px;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;aspect-ratio:16/9;}
.schol-card .schol-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;}
.schol-card:hover .schol-img img{transform:scale(1.06);}
.schol-img-placeholder{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold),var(--pink) 55%,var(--green));position:relative;overflow:hidden;}
.schol-img-placeholder::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.35),transparent 45%),radial-gradient(circle at 85% 80%,rgba(255,255,255,.25),transparent 40%);}
.schol-img-placeholder span{position:relative;font-size:45px;filter:drop-shadow(0 3px 8px rgba(0,49,47,.3));}
.schol-card .meta-row{display:flex;justify-content:space-between;font-size:19px;color:var(--ink-soft);margin-bottom:8px;}
.schol-card .cta{width:100%;border:none;background:var(--green);color:var(--ink);padding:11px;border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:20.5px;cursor:pointer;text-align:center;text-decoration:none;display:block;transition:background .2s ease,transform .2s ease;}
.schol-card:hover .cta:not(.disabled){background:var(--action-yellow);}
.schol-card .cta:disabled,.schol-card .cta.disabled{background:var(--ink-faint);cursor:not-allowed;}
.choice-list{display:flex;flex-direction:column;gap:16px;max-width:640px;}
.choice-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.choice-card h3{font-size:22px;font-weight:600;margin:0 0 8px;}
.choice-desc{font-size:17.5px;color:var(--ink-soft);margin:0 0 12px;line-height:1.6;}
.choice-card .cta{max-width:260px;display:block;border:none;background:var(--green);color:var(--ink);padding:11px;border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:20.5px;cursor:pointer;text-align:center;text-decoration:none;transition:background .2s ease;}
.choice-card .cta:hover{background:var(--action-yellow);}
.choice-card .cta.disabled{background:var(--ink-faint);cursor:not-allowed;}

/* ปุ่ม .cta แบบทั่วไป ใช้นอก .schol-card/.choice-card ได้ด้วย (เช่น ปุ่ม "ถัดไป" ของฟอร์มเลือกสมัครหลายทุน) */
.cta{display:inline-block;border:none;background:var(--green);color:var(--ink);padding:11px 20px;border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:20.5px;cursor:pointer;text-align:center;text-decoration:none;transition:background .2s ease,transform .2s ease;}
.cta:hover:not(.disabled){background:var(--action-yellow);transform:translateY(-1px);}
.cta.disabled{background:var(--ink-faint);cursor:not-allowed;}

.form-layout{display:grid;grid-template-columns:1fr 300px;gap:26px;align-items:start;}
.stepper{display:flex;align-items:center;margin-bottom:32px;}
.step{display:flex;align-items:center;gap:10px;flex:1;}
.step .dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:20px;font-weight:600;border:2px solid var(--line);color:var(--ink-faint);background:#fff;flex-shrink:0;}
.step.done .dot{background:var(--sage);border-color:var(--sage);color:#fff;}
.step.now .dot{background:var(--accent);border-color:var(--accent);color:var(--accent-on);}
.step .lbl{font-size:19.5px;color:var(--ink-soft);white-space:nowrap;}
.step.now .lbl{color:var(--berry-800);font-weight:600;}
.step .line{flex:1;height:1px;background:var(--line);margin:0 8px;}

.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:30px;}
.form-card h2{font-size:26px;margin:0 0 4px;}
.form-card .desc{font-size:20px;color:var(--ink-soft);margin:0 0 26px;}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:6px;}
.field.full{grid-column:1/-1;}
.field label{font-size:19.5px;font-weight:600;color:var(--ink);}
.field .hint{font-size:18px;color:var(--ink-faint);font-weight:400;}
.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:8px;padding:11px 13px;font-family:var(--font-body);font-size:20.5px;background:#FBFBFC;color:var(--ink);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#fff;}
.upload-box{border:1.5px dashed var(--line);border-radius:10px;padding:22px;text-align:center;color:var(--ink-soft);font-size:19.5px;grid-column:1/-1;background:#FBFBFC;}
.upload-box input[type=file]{display:block;margin:10px auto 0;font-size:19px;}
.form-actions{display:flex;justify-content:space-between;margin-top:28px;align-items:center;}
.btn-primary{border:none;background:var(--gold);color:var(--berry-950);padding:12px 26px;border-radius:8px;font-family:var(--font-body);font-weight:700;font-size:20.5px;cursor:pointer;text-decoration:none;display:inline-block;}
.btn-text{border:none;background:none;color:var(--ink-soft);font-family:var(--font-body);font-size:20px;cursor:pointer;text-decoration:none;}

.summary-side{background:var(--accent);color:var(--accent-on);border-radius:var(--radius);padding:24px;position:sticky;top:90px;}
.summary-side .eyebrow{font-size:18px;letter-spacing:.5px;color:var(--accent-on);opacity:.75;text-transform:uppercase;font-weight:600;margin-bottom:8px;}
.summary-side h3{font-size:24px;margin:0 0 14px;}
.summary-side .row{display:flex;justify-content:space-between;font-size:19.5px;padding:9px 0;border-bottom:1px solid rgba(74,52,0,.18);color:rgba(74,52,0,.78);}
.summary-side .row b{color:var(--accent-on);font-weight:600;}

.status-head{display:flex;justify-content:space-between;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;margin-bottom:28px;}
.status-head h2{font-size:25px;margin:0 0 4px;}
.status-head .ref{font-family:var(--font-mono);font-size:19.5px;color:var(--ink-soft);}
.status-badge{font-size:19px;font-weight:600;background:var(--gold-tint);color:var(--gold-deep);padding:6px 14px;border-radius:999px;}
.status-badge.approved{background:var(--sage-tint);color:var(--sage);}
.status-badge.rejected{background:var(--brick-tint);color:var(--brick);}

.timeline{position:relative;padding-left:6px;}
.tl-item{display:flex;gap:20px;padding-bottom:34px;position:relative;}
.tl-item:last-child{padding-bottom:0;}
.tl-item::before{content:"";position:absolute;left:22px;top:46px;bottom:0;width:1px;background:var(--line);}
.tl-item:last-child::before{display:none;}
.tl-badge{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.tl-badge.done{background:var(--sage-tint);color:var(--sage);}
.tl-badge.current{background:var(--gold-tint);color:var(--gold-deep);}
.tl-badge.muted{background:#EEF0F3;color:var(--ink-faint);}
.tl-body{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px;flex:1;margin-top:2px;}
.tl-body .t{font-size:21px;font-weight:600;margin-bottom:3px;}
.tl-body .d{font-size:19px;color:var(--ink-soft);}
.tl-item.pending .tl-body{opacity:.5;}

.result-announcement{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--sage-tint);color:var(--sage);border-radius:12px;padding:14px 18px;margin-top:18px;font-size:20px;font-weight:600;flex-wrap:wrap;}
.result-announcement a{color:var(--sage);text-decoration:underline;white-space:nowrap;}

.admin-shell{display:flex;min-height:calc(100vh - 60px);}
.admin-side{width:220px;background:var(--green);color:var(--ink);padding:26px 16px;flex-shrink:0;}
.admin-logo{display:flex;align-items:center;gap:10px;padding:0 10px 26px;font-family:var(--font-display);font-size:23px;color:var(--green-deep);}
.admin-nav a{display:flex;align-items:center;gap:11px;width:100%;text-align:left;border:none;background:none;color:var(--ink-soft);padding:11px 12px;border-radius:9px;font-family:var(--font-body);font-size:20.5px;font-weight:500;cursor:pointer;margin-bottom:2px;text-decoration:none;}
.admin-nav a svg{width:16px;height:16px;flex-shrink:0;}
.admin-nav a.active{background:var(--gold);color:var(--ink);font-weight:600;}

.admin-main{flex:1;padding:30px 34px;max-width:1240px;}
.admin-topline{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;}
.admin-topline h1{font-size:29px;margin:0;font-weight:600;}
.admin-topline .datestr{font-size:19.5px;color:var(--ink-soft);}

.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;}
.stat-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;}
.stat-card .lbl{font-size:19px;color:var(--ink-soft);margin-bottom:8px;}
.stat-card .num{font-family:var(--font-mono);font-size:33px;font-weight:600;color:var(--berry-800);}
.stat-card .delta{font-size:18.5px;margin-top:6px;color:var(--sage);font-weight:600;}
.stat-card .delta.warn{color:var(--brick);}

.admin-cols{display:grid;grid-template-columns:1.5fr 1fr;gap:18px;margin-bottom:10px;}
.box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.box h3{font-size:22px;margin:0 0 16px;}
.box.chart-box h3{font-size:21px;}
.budget-row{margin-bottom:14px;}
.budget-row .top{display:flex;justify-content:space-between;font-size:19.5px;margin-bottom:6px;}
.budget-row .top .name{font-weight:600;}
.budget-row .top .figs{font-family:var(--font-mono);color:var(--ink-soft);}
.bar{height:6px;background:var(--line);border-radius:99px;overflow:hidden;}
.bar i{display:block;height:100%;background:var(--accent);}
.bar i.gold{background:var(--gold);}

.mini-deadline{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:19.5px;}
.mini-deadline:last-child{border-bottom:none;}
.mini-deadline .n{font-weight:600;}
.mini-deadline .days{font-family:var(--font-mono);color:var(--brick);font-weight:600;}

.filter-bar{display:flex;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.filter-bar select,.filter-bar input{border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-family:var(--font-body);font-size:19.5px;background:#fff;}
.filter-bar input{flex:1;min-width:180px;}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:var(--radius);}

.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);align-items:center;justify-content:center;z-index:999;}

.row-menu{position:relative;display:inline-block;}
.row-menu-btn{border:1px solid var(--line);background:var(--card);color:var(--ink-soft);width:32px;height:32px;line-height:1;border-radius:8px;font-size:18px;cursor:pointer;}
.row-menu-btn:hover{border-color:var(--berry-800);color:var(--berry-800);}
.row-menu-panel{position:fixed;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.18);padding:6px;min-width:190px;flex-direction:column;gap:1px;}
.row-menu-panel a,.row-menu-panel button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:6px;border:none;background:none;font-family:var(--font-body);font-size:16.5px;font-weight:600;color:var(--ink);text-decoration:none;cursor:pointer;}
.row-menu-panel a:hover,.row-menu-panel button:hover{background:var(--sage-tint);color:var(--sage);}
.row-menu-panel .danger{color:var(--brick);}
.row-menu-panel .danger:hover{background:var(--brick-tint);color:var(--brick);}
.row-menu-panel form{margin:0;}
table.data{width:100%;min-width:640px;border-collapse:collapse;background:var(--card);border:1px solid var(--line);overflow:hidden;}
table.data th{text-align:left;font-size:18.5px;text-transform:uppercase;letter-spacing:.3px;color:var(--ink-faint);padding:12px 16px;background:#F7F8FA;border-bottom:1px solid var(--line);font-weight:600;}
table.data td{padding:13px 16px;font-size:20px;border-bottom:1px solid var(--line);}
.hc-input{width:76px;border:1.5px solid var(--line);border-radius:10px;padding:8px 10px;font-family:var(--font-mono);font-size:18px;text-align:center;background:#FBFBFC;color:var(--ink);transition:border-color .15s ease,background .15s ease;}
.hc-input:hover{border-color:var(--green);}
.hc-input:focus{outline:none;border-color:var(--berry-800);background:#fff;}
.hc-input:not([value="0"]){background:var(--green-tint);border-color:var(--green);font-weight:600;}
.run-history{display:flex;flex-wrap:wrap;gap:8px;}
.run-pill{border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;font-size:18px;color:var(--ink-soft);text-decoration:none;white-space:nowrap;transition:border-color .15s ease,background .15s ease;}
.run-pill:hover{border-color:var(--green);background:var(--green-tint);}
.run-pill.active{border-color:var(--accent);background:var(--accent-soft);color:var(--berry-800);font-weight:600;}
.hc-row-total{font-family:var(--font-mono);font-weight:600;color:var(--berry-800);text-align:center;}
.hc-total-row td{font-weight:700;background:var(--gold-tint);font-family:var(--font-mono);text-align:center;}
.hc-total-row td:first-child{font-family:var(--font-body);text-align:left;}
.quota-badge{display:inline-block;font-size:16px;font-weight:600;color:var(--berry-800);background:var(--accent-soft);padding:2px 10px;border-radius:999px;margin-left:8px;}

.donut-wrap{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.chart-legend{display:flex;flex-direction:column;gap:7px;font-size:17px;min-width:140px;}
.chart-legend-item{display:flex;align-items:center;gap:8px;color:var(--ink-soft);}
.chart-legend-item .dot{width:11px;height:11px;border-radius:50%;flex-shrink:0;}
.chart-legend-item b{color:var(--ink);margin-left:auto;font-family:var(--font-mono);}
.hero-figure{font-family:var(--font-mono);font-size:40px;font-weight:700;color:var(--berry-800);}
.dash-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:20px;}
.dash-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:20px;}
@media (max-width:980px){.dash-grid,.dash-grid-3{grid-template-columns:1fr;}}
table.data tr:last-child td{border-bottom:none;}
table.data a{text-decoration:none;color:var(--berry-800);font-weight:600;}
table.data .refc{font-family:var(--font-mono);font-size:19px;color:var(--ink-soft);}
.badge{font-size:18px;font-weight:600;padding:4px 11px;border-radius:999px;display:inline-block;}
.badge.pending{background:var(--gold-tint);color:var(--gold-deep);}
.badge.submitted{background:var(--blue-tint);color:var(--blue-deep);}
.badge.docreview{background:var(--teal-tint);color:var(--teal-deep);}
.badge.considering{background:var(--gold-tint);color:var(--gold-deep);}
.badge.interview{background:var(--pink-tint);color:var(--pink-deep);}
.badge.approved{background:var(--sage-tint);color:var(--sage);}
.badge.rejected{background:var(--brick-tint);color:var(--brick);}
.badge.draft{background:#EEF0F3;color:var(--ink-faint);}
.badge.docincomplete,.status-badge.docincomplete{background:var(--accent-soft);color:var(--accent-on);}

.review-layout{display:grid;grid-template-columns:1fr 340px;gap:18px;}
.applicant-head{display:flex;gap:16px;align-items:center;margin-bottom:20px;}
.avatar{width:52px;height:52px;border-radius:50%;background:var(--accent);color:var(--accent-on);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:26px;flex-shrink:0;}
.applicant-head h2{font-size:25px;margin:0 0 3px;}
.applicant-head .sub{font-size:19.5px;color:var(--ink-soft);}
.doc-list{list-style:none;margin:0;padding:0;}
.doc-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:20px;}
.doc-list li:last-child{border-bottom:none;}
.doc-list li a{text-decoration:none;color:var(--ink);}
.doc-list li a:hover{color:var(--gold-deep);}
.doc-list svg{width:16px;height:16px;color:var(--sage);flex-shrink:0;}
.criterion{margin-bottom:16px;}
.criterion .top{display:flex;justify-content:space-between;font-size:19.5px;margin-bottom:6px;}
.criterion .top b{font-weight:600;}
.criterion input[type=range]{width:100%;accent-color:var(--gold);}
.decision-box textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-family:var(--font-body);font-size:19.5px;resize:vertical;min-height:70px;margin-bottom:14px;background:#FBFBFC;}
.decision-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.decision-btns button{border:none;border-radius:8px;padding:11px 8px;font-family:var(--font-body);font-weight:600;font-size:19.5px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;text-align:center;}
.decision-btns button:last-child{grid-column:1/-1;}
.btn-approve{background:var(--sage);color:#fff;}
.btn-more{background:#F0F1F4;color:var(--ink-soft);}
.btn-reject{background:var(--brick-tint);color:var(--brick);}

/* ---------- เพิ่มเติมสำหรับระบบจริง ---------- */
.alert{border-radius:10px;padding:13px 18px;font-size:20.5px;margin-bottom:20px;}
.alert-success{background:var(--sage-tint);color:var(--sage);}
.alert-error{background:var(--brick-tint);color:var(--brick);}
.alert ul{margin:6px 0 0;padding-left:18px;}

.alert-card{display:flex;gap:14px;align-items:flex-start;background:var(--brick-tint);border:1.5px solid var(--brick);border-radius:14px;padding:18px 20px;margin-bottom:22px;box-shadow:0 4px 14px rgba(177,75,63,.12);}
.alert-card svg{color:var(--brick);flex-shrink:0;margin-top:1px;}
.alert-card-title{font-weight:700;color:var(--brick);font-size:21.5px;margin-bottom:6px;}
.alert-card ul{margin:0;padding-left:18px;color:var(--ink);font-size:20px;line-height:1.7;}

/* กล่องแจ้งผลสำเร็จ (เช่น บันทึกร่างใบสมัครแล้ว) — ใช้โทนเขียวแทนโทนแดงของ .alert-card เดิม */
.alert-card-success{background:var(--sage-tint);border-color:var(--sage);box-shadow:0 4px 14px rgba(63,122,78,.12);}
.alert-card-success svg{color:var(--sage);}
.alert-card-success .alert-card-title{color:var(--sage);margin-bottom:0;}

.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--green);padding:20px;}
.auth-card{background:var(--card);border-radius:var(--radius);padding:38px 36px;width:100%;max-width:400px;}
.auth-card .brand{color:var(--berry-950);margin-bottom:6px;}
.auth-card .sub2{font-size:19.5px;color:var(--ink-soft);margin-bottom:26px;}
.auth-card .field{margin-bottom:16px;}
.auth-card .btn-primary{width:100%;text-align:center;padding:13px;font-size:21px;}
.auth-card .switch{text-align:center;font-size:19.5px;color:var(--ink-soft);margin-top:18px;}
.auth-card .switch a{color:var(--gold-deep);font-weight:600;text-decoration:none;}

.empty-note{color:var(--ink-faint);font-size:20px;padding:24px;text-align:center;}

.banner-carousel{position:relative;border-radius:20px;overflow:hidden;margin-bottom:28px;background:var(--berry-950);}
.banner-carousel .slides{display:flex;transition:transform .5s ease;}
.banner-carousel .slide{min-width:100%;flex-shrink:0;}
.banner-carousel .slide a,.banner-carousel .slide span{display:block;}
.banner-carousel .slide img,.banner-carousel .slide video{width:100%;aspect-ratio:10/3;object-fit:cover;display:block;}
.banner-carousel .dots{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);display:flex;gap:8px;}
.banner-carousel .dots button{width:8px;height:8px;border-radius:99px;border:none;background:rgba(255,255,255,.5);cursor:pointer;padding:0;transition:width .2s,background .2s;}
.banner-carousel .dots button.active{background:var(--gold);width:22px;}
.banner-carousel .nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.35);color:#fff;border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:23px;}
.banner-carousel .nav-btn.prev{left:12px;}
.banner-carousel .nav-btn.next{right:12px;}

.announcement-viewer{border:1px solid var(--gold);border-radius:14px;overflow:hidden;margin-bottom:22px;background:#fff;}
.announcement-viewer .av-head{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--gold-tint);padding:12px 18px;font-size:20px;flex-wrap:wrap;}
.announcement-viewer .av-head a{color:var(--gold-deep);font-weight:600;text-decoration:none;font-size:19.5px;white-space:nowrap;}
.announcement-viewer .av-body{display:flex;flex-direction:column;align-items:center;padding:18px;background:#F7F8FA;}
.announcement-viewer .av-image img{max-width:100%;max-height:70vh;border-radius:8px;display:block;}
.announcement-viewer .av-pdf canvas{max-width:100%;max-height:65vh;border:1px solid var(--line);border-radius:8px;background:#fff;}
.announcement-viewer .av-nav{display:flex;align-items:center;gap:16px;margin-top:14px;font-size:20px;color:var(--ink-soft);}
.eligibility-note{font-size:19px;color:var(--ink-soft);background:#F7F8FA;border-radius:8px;padding:8px 12px;margin-bottom:14px;}

/* ---------- ตัวเลือกรูปแบบฟอร์ม (หน้าเพิ่มทุนใหม่) ---------- */
.form-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-type-card{position:relative;display:block;border:2px solid var(--line);border-radius:12px;padding:20px;cursor:pointer;background:#FBFBFC;transition:border-color .15s,background .15s;}
.form-type-card:hover{border-color:var(--green);}
.form-type-card input{position:absolute;top:16px;right:16px;width:18px;height:18px;accent-color:var(--accent);}
.form-type-card.active{border-color:var(--berry-800);background:var(--green-tint);}
.form-type-card .ftc-icon{font-size:33px;margin-bottom:8px;}
.form-type-card .ftc-title{font-weight:700;font-size:21.5px;margin-bottom:4px;color:var(--ink);}
.form-type-card .ftc-desc{font-size:19.5px;color:var(--ink-soft);line-height:1.6;}

.std-preview{background:#FBFBFC;border:1px solid var(--line);border-radius:10px;padding:18px 20px;margin-top:16px;}
.std-preview .sp-step{display:flex;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);}
.std-preview .sp-step:last-child{border-bottom:none;}
.std-preview .sp-num{width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-on);font-family:var(--font-mono);font-size:18.5px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.std-preview .sp-title{font-size:20px;font-weight:600;margin-bottom:2px;}
.std-preview .sp-fields{font-size:19px;color:var(--ink-soft);line-height:1.6;}

.qb-row{background:#FBFBFC;border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:12px;}
.qb-row .qb-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;}
.qb-row .qb-num{font-size:19px;font-weight:600;color:var(--ink-soft);}
.qb-row .qb-remove{border:none;background:none;color:var(--brick);font-size:19px;cursor:pointer;font-weight:600;}
.qb-row .qb-grid{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin-bottom:10px;}
.qb-row input[type=text],.qb-row select,.qb-row textarea{border:1px solid var(--line);border-radius:8px;padding:9px 11px;font-family:var(--font-body);font-size:20px;background:#fff;width:100%;}
.qb-row textarea{margin-top:8px;}
.qb-row .qb-meta{display:flex;align-items:center;gap:16px;margin-top:8px;font-size:19px;flex-wrap:wrap;}
.qb-row .qb-meta label{display:flex;align-items:center;gap:6px;font-weight:400;}
.btn-add-question{border:1.5px dashed var(--berry-800);background:none;color:var(--berry-800);padding:12px;border-radius:10px;width:100%;font-weight:600;font-size:20px;cursor:pointer;}

.lookup-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:34px;max-width:480px;margin:20px auto;}
.lookup-card--wide{max-width:640px;}
.status-accordion{display:flex;flex-direction:column;gap:10px;text-align:left;}
.acc-item{border:1px solid var(--line);border-radius:10px;overflow:hidden;}
.acc-head{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border:none;cursor:pointer;font-family:var(--font-body);text-align:left;}
.acc-head:hover{background:var(--sage-tint);}
.acc-title{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.acc-title .refc{font-family:var(--font-mono);font-size:15.5px;color:var(--ink-faint);}
.acc-title .acc-name{font-size:17.5px;font-weight:600;color:var(--ink);}
.acc-caret{font-size:15px;color:var(--ink-faint);white-space:nowrap;}
.acc-head.open .acc-caret{color:var(--berry-800);}
.acc-body{padding:18px 20px;border-top:1px solid var(--line);background:var(--bg);}
.lookup-card h2{font-size:26px;margin:0 0 4px;text-align:center;}
.lookup-card .desc{font-size:20px;color:var(--ink-soft);margin:0 0 24px;text-align:center;}
.lookup-card .field{margin-bottom:16px;}

.announce-list{display:flex;flex-direction:column;gap:10px;text-align:left;}
.announce-item{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;text-decoration:none;color:inherit;transition:border-color .2s ease,background .2s ease;}
.announce-item:hover{border-color:var(--sage);background:var(--sage-tint);}
.announce-item .ai-icon{font-size:22px;flex-shrink:0;}
.announce-item .ai-body{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;}
.announce-item .ai-name{font-size:19.5px;font-weight:600;}
.announce-item .ai-year{font-size:17px;color:var(--ink-soft);}
.announce-item .ai-open{font-size:17px;font-weight:600;color:var(--sage);white-space:nowrap;}

@media (max-width:980px){
  .card-grid{grid-template-columns:repeat(2,1fr);}
  .form-layout,.review-layout{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:repeat(2,1fr);}
  .admin-cols{grid-template-columns:1fr;}
  .summary-side{position:static;}
}

@media (max-width:640px){
  .persona-bar{padding:12px 16px;flex-wrap:wrap;gap:10px;}
  .brand{font-size:23px;gap:9px;}
  .brand img.logo{height:28px;}
  .brand span.sub{font-size:16.5px;}

  .student-shell{padding:20px 16px 60px;}

  .search-row{flex-direction:column;}
  .search-row button{width:100%;}

  .card-grid{grid-template-columns:1fr;}
  .field-grid{grid-template-columns:1fr;}
  .form-type-grid{grid-template-columns:1fr;}
  .stat-grid{grid-template-columns:1fr;}

  .form-card{padding:20px;}
  .form-actions{flex-direction:column-reverse;gap:12px;align-items:stretch;}
  .form-actions .btn-primary{width:100%;text-align:center;}
  .form-actions .btn-text{text-align:center;}

  .status-head{flex-wrap:wrap;gap:12px;padding:18px 20px;}
  .lookup-card{padding:24px 20px;margin:16px auto;max-width:100%;}

  .admin-shell{flex-direction:column;min-height:0;}
  .admin-side{width:100%;padding:14px 12px;}
  .admin-logo{display:none;}
  .admin-nav{display:flex;flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:4px;}
  .admin-nav a{width:auto;white-space:nowrap;flex-shrink:0;margin-bottom:0;}

  .admin-main{padding:20px 16px;}
  .admin-topline{flex-wrap:wrap;gap:8px;}
  .filter-bar{flex-direction:column;align-items:stretch;}
  .filter-bar input{min-width:0;}

  .qb-row .qb-grid{grid-template-columns:1fr;}

  .decision-btns{grid-template-columns:1fr;}
  .decision-btns button:last-child{grid-column:auto;}

  .auth-card{padding:28px 22px;}
}

.site-footer{margin-top:40px;background:#F9D3E5;color:var(--ink-soft);padding:28px 34px 18px;}
.site-footer-inner{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;max-width:1240px;margin:0 auto;}
.sf-col{display:flex;flex-direction:column;gap:6px;}
.sf-title{font-size:19.5px;font-weight:700;color:var(--pink-deep);margin-bottom:4px;}
.sf-line{font-size:16.5px;line-height:1.6;}
.sf-copy{text-align:center;font-size:14.5px;opacity:.75;margin-top:20px;padding-top:14px;border-top:1px solid rgba(194,62,124,.2);}
@media print{.site-footer{display:none;}}
@media (max-width:640px){
  .site-footer{padding:22px 18px 14px;}
  .site-footer-inner{flex-direction:column;gap:16px;}
}

/* ==========================================================================
   ฟอร์มสมัครฉบับปรับปรุง 2569
   - แถวรายการที่เพิ่ม/ลบได้ (หน่วยกิตรายภาค, ค่าใช้จ่าย, พี่น้อง, ทุนที่เคยได้รับ)
   - ช่องที่อยู่แบบค้นหาอัตโนมัติ
   - ตัวเลือกแบบติ๊กได้หลายข้อ
   ========================================================================== */

/* แถวรายการที่เพิ่ม/ลบได้ */
.repeat-row{display:flex;gap:8px;margin-bottom:8px;align-items:center;}
.repeat-row input,.repeat-row select{min-width:0;}
.btn-remove-row{flex:0 0 auto;width:34px;height:34px;line-height:1;border:1px solid var(--line);background:var(--card);
  color:var(--ink-faint);border-radius:8px;font-size:20px;cursor:pointer;transition:border-color .15s ease,color .15s ease,background .15s ease;}
.btn-remove-row:hover{border-color:var(--pink-deep);color:var(--pink-deep);background:var(--pink-tint);}

/* ช่องที่อยู่แบบค้นหาอัตโนมัติ */
.addr-ac{position:relative;}
.ac-list{position:absolute;z-index:40;top:100%;left:0;right:0;margin-top:4px;background:#fff;border:1px solid var(--line);
  border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.14);max-height:260px;overflow-y:auto;padding:4px;}
.ac-item{display:block;width:100%;text-align:left;border:none;background:none;padding:9px 11px;border-radius:7px;
  font-family:var(--font-body);font-size:19px;color:var(--ink);cursor:pointer;}
.ac-item:hover{background:var(--green-tint);}

/* ตัวเลือกแบบติ๊กได้หลายข้อ */
.checkbox-row{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:6px;}
.checkbox-item{display:flex;align-items:center;gap:8px;font-weight:400;font-size:19.5px;}
.checkbox-item input{width:auto;}

/* กล่องยอดรวมค่าใช้จ่าย */
.expense-total .total-box{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:var(--gold-tint);
  font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--gold-deep);}

/* ประเภททุนบนการ์ดหน้ารายการทุน */
.schol-category{font-size:18.5px;color:var(--ink-soft);margin:-4px 0 10px;}
.schol-short{font-size:18.5px;color:var(--ink-soft);line-height:1.5;margin:0 0 10px;}

/* ---- หน้าแอดมิน: เอกสารแนบ + แบบฟอร์มเปล่าของแต่ละเอกสาร ---- */
.doc-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin-top:10px;}
.doc-type-item{border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fff;}
.doc-type-item code{background:var(--accent-soft);color:var(--accent-on);padding:1px 6px;border-radius:5px;font-family:var(--font-mono);font-size:.95em;}
.doc-type-item input[type=file]{width:100%;font-size:17px;}

/* ---- ฟอร์มสมัคร: แถวแนบไฟล์พร้อมลิงก์แบบฟอร์มเปล่า ---- */
.upload-box .tpl-link{display:inline-flex;align-items:center;gap:6px;margin-top:6px;font-size:17.5px;font-weight:600;color:var(--berry-800);text-decoration:none;}
.upload-box .tpl-link:hover{text-decoration:underline;}
.upload-box .file-naming{display:block;margin-top:6px;font-size:17px;color:var(--ink-soft);}
.upload-box .file-naming code{background:var(--accent-soft);color:var(--accent-on);padding:1px 6px;border-radius:5px;}
.doc-later-box{border:1.5px dashed var(--accent);background:var(--accent-soft);border-radius:10px;padding:14px 16px;}

/* ---- หัวแบบฟอร์มสมัคร: ประเภททุน + คุณสมบัติแบบเน้น + คำอธิบายสั้น ---- */
.eligibility-headline{background:var(--accent-soft);border:1px solid var(--accent);border-radius:12px;padding:14px 18px;margin-bottom:12px;}
.eligibility-headline .eh-type{font-size:18px;color:var(--ink-soft);margin-bottom:4px;}
.eligibility-headline .eh-main{font-size:24px;font-weight:700;color:var(--accent-on);line-height:1.35;}
.eligibility-headline .eh-desc{font-size:19px;color:var(--ink-soft);margin-top:6px;line-height:1.5;}

/* ---- auto-complete รายชื่ออาจารย์ที่ปรึกษา (ใช้สไตล์เดียวกับ auto-complete ที่อยู่) ---- */
.advisor-ac{position:relative;}

/* ===== แถบขั้นตอนและตารางของหน้าคัดเลือกทุนเรียนดี (admin/allocation_*.php) ===== */
.al-steps{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;}
.al-step{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:10px;text-decoration:none;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);min-height:44px;box-sizing:border-box;height:100%;}
a.al-step:hover{border-color:var(--berry-700);color:var(--ink);}
.al-step.al-now{border-color:var(--berry-800);box-shadow:inset 0 0 0 1px var(--berry-800);color:var(--ink);}
.al-dot{flex:none;width:27px;height:27px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:700;background:var(--line);color:var(--ink-soft);box-sizing:border-box;}
.al-dot-done{background:var(--green-deep);color:#fff;}
.al-dot-now{background:var(--card);color:var(--berry-800);border:2px solid var(--berry-800);}
.al-step-text{display:flex;flex-direction:column;}
.al-step-label{font-weight:600;font-size:19px;}
.al-step-sub{font-size:16px;}

.al-ribbon{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;padding:14px 18px;border-radius:10px;background:var(--card);border:1px dashed var(--ink-faint);margin-bottom:22px;font-size:19px;}
.al-chip{display:inline-flex;align-items:center;padding:3px 13px;border-radius:999px;font-size:16px;font-weight:700;}
.al-chip-draft{background:var(--ink);color:#fff;}
.al-chip-locked{background:var(--green-tint);color:var(--green-deep);}
.al-chip-announced{background:var(--accent-soft);color:var(--berry-800);}

.al-cell{display:flex;flex-direction:column;gap:2px;padding:8px 11px;border-radius:8px;min-width:92px;box-sizing:border-box;font-size:17px;text-decoration:none;}
.al-cell b{font-size:18px;}
.al-cell span{font-size:15px;}
.al-full{background:var(--green-tint);color:var(--green-deep);}
.al-gap{background:var(--blue-tint);color:var(--blue-deep);box-shadow:inset 0 0 0 2px var(--blue-deep);}
.al-nohc{background:var(--brick-tint);color:var(--brick);}
.al-closed{background:var(--paper);color:var(--ink-faint);}

.al-group{display:flex;align-items:center;gap:12px;width:100%;min-height:62px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);font:inherit;color:var(--ink);text-align:left;cursor:pointer;box-sizing:border-box;margin-bottom:10px;}
.al-group:hover{border-color:var(--berry-700);}
.al-group.on{border-color:var(--blue-deep);box-shadow:inset 0 0 0 1px var(--blue-deep);background:var(--blue-tint);}
.al-count{flex:none;min-width:54px;text-align:center;padding:4px 9px;border-radius:999px;font-size:16px;font-weight:700;background:var(--blue-tint);color:var(--blue-deep);}
.al-count.done{background:var(--green-deep);color:#fff;}
.al-split{display:grid;grid-template-columns:minmax(0,330px) minmax(0,1fr);gap:16px;align-items:start;}

@media (max-width:900px){
  .al-steps,.al-split{grid-template-columns:repeat(1,minmax(0,1fr));}
}
