@font-face{font-family:"Jakarta";font-style:normal;font-weight:400 800;font-display:swap;src:url(/assets/fonts/jakarta-latin.woff2) format("woff2")}
:root{--g:#145b31;--g6:#0f4a27;--g1:#eaf6ef;--b:#1d4497;--b1:#ecf1fb;--a:#f5a524;--ink:#0d1a2b;--body:#3a485b;--muted:#6a7a8f;--line:#e2e8f0;--bg:#f3f6f9;--card:#fff;--dark:#061c13;--sb:248px;--sb-min:76px;--hd:64px;--r:14px;--sh:0 1px 2px rgba(13,26,43,.05),0 6px 20px rgba(13,26,43,.06)}
*{box-sizing:border-box}
html,body{overflow-x:hidden}
.a-body{margin:0;font-family:"Jakarta",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:14.5px;background:var(--bg);color:var(--body);-webkit-font-smoothing:antialiased}
.a-ic{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sb);z-index:1000;display:flex;flex-direction:column;background:linear-gradient(180deg,#05241a,#0a1f3d);color:rgba(255,255,255,.75);transition:width .3s cubic-bezier(.22,.61,.36,1),transform .3s}
.sb-brand{display:flex;align-items:center;height:var(--hd);padding:0 18px;border-bottom:1px solid rgba(255,255,255,.08);flex:none}
.sb-brand img{height:34px;width:auto}
.sb-nav{flex:1;overflow-y:auto;padding:14px 12px;display:grid;gap:4px;align-content:start}
.sb-foot{padding:12px;border-top:1px solid rgba(255,255,255,.08)}
.sb-link{position:relative;display:flex;align-items:center;gap:12px;height:44px;padding:0 14px;border-radius:12px;color:rgba(255,255,255,.75);text-decoration:none;font-weight:600;white-space:nowrap;transition:background .2s,color .2s}
.sb-link:hover{background:rgba(255,255,255,.08);color:#fff}
.sb-link.active{background:var(--a);color:var(--ink)}
.sb-link.active::before{content:"";position:absolute;left:-12px;top:10px;bottom:10px;width:4px;border-radius:0 4px 4px 0;background:var(--a)}
.sb-min .sidebar{width:var(--sb-min)}
.sb-min .sb-link span,.sb-min .sb-brand img{display:none}
.sb-min .sb-brand::after{content:"AGC";font-weight:800;color:#fff;letter-spacing:.08em}
.sb-min .sb-link{justify-content:center;padding:0}
.sb-min .sb-link:hover::after{content:attr(data-title);position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:6px 12px;border-radius:8px;background:var(--ink);color:#fff;font-size:12.5px;white-space:nowrap;z-index:2000}
.sb-backdrop{display:none}

.header{position:fixed;top:0;right:0;left:var(--sb);height:var(--hd);z-index:900;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 22px;background:rgba(255,255,255,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);transition:left .3s cubic-bezier(.22,.61,.36,1)}
.sb-min .header{left:var(--sb-min)}
.header-left{display:flex;align-items:center;gap:12px;min-width:0}
.toggle-btn{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;border:1px solid var(--line);background:#fff;color:var(--ink);cursor:pointer;flex:none}
.toggle-btn:hover{border-color:var(--g);color:var(--g)}
.h-title{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-title .a-ic{color:var(--g)}
.header-user{display:flex;align-items:center;gap:10px}
.user-chip{display:flex;align-items:center;gap:10px;padding:5px 12px 5px 5px;border-radius:999px;background:var(--bg);border:1px solid var(--line)}
.avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--g),var(--b));color:#fff;font-weight:800;font-size:13px}
.u-meta{display:flex;flex-direction:column;line-height:1.15}
.u-meta b{color:var(--ink);font-size:13px}
.u-meta small{color:var(--muted);font-size:11.5px}
.logout{width:40px;height:40px;display:grid;place-items:center;border-radius:10px;background:#fdecec;color:#b42318;transition:background .2s,color .2s}
.logout:hover{background:#b42318;color:#fff}

.main-content{margin-left:var(--sb);padding:calc(var(--hd) + 20px) 24px 32px;min-height:100vh;transition:margin .3s cubic-bezier(.22,.61,.36,1)}
.sb-min .main-content{margin-left:var(--sb-min)}

:where(.main-content) :where(h1,h2,h3,h4){color:var(--ink)}
:where(.main-content) :where(a){color:var(--b)}
:where(.main-content) :where(table){border-collapse:collapse;width:100%;background:#fff}
:where(.main-content) :where(th){background:#f8fafc;color:var(--ink);font-weight:700;text-align:left;font-size:13px}
:where(.main-content) :where(th,td){padding:11px 12px;border-bottom:1px solid var(--line)}
:where(.main-content) :where(tbody tr):hover{background:#fafcff}
:where(.main-content) :where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){font:inherit;color:var(--ink);border:1.5px solid #cfd8e3;border-radius:10px;padding:9px 12px;background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
:where(.main-content) :where(input,select,textarea):focus{border-color:var(--g);box-shadow:0 0 0 3px rgba(20,91,49,.12)}
:where(.main-content) :where(button){font:inherit;cursor:pointer}
:where(.main-content) :where(input[type=checkbox],input[type=radio]){accent-color:var(--g)}

@media (max-width:900px){
  .sidebar{transform:translateX(-100%);width:var(--sb)!important;box-shadow:0 0 40px rgba(0,0,0,.35)}
  .sidebar.open{transform:none}
  .sb-min .sb-link span,.sb-min .sb-brand img{display:initial}
  .sb-min .sb-link{justify-content:flex-start;padding:0 14px}
  .sb-backdrop.show{display:block;position:fixed;inset:0;z-index:950;background:rgba(3,12,8,.5)}
  .header,.sb-min .header{left:0;padding:0 12px}
  .main-content,.sb-min .main-content{margin-left:0;padding:calc(var(--hd) + 14px) 10px 24px}
  .u-meta{display:none}
  .user-chip{padding:4px}
}

.auth-body{margin:0;min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr;font-family:"Jakarta",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;background:#fff;color:var(--body)}
.auth-side{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;padding:40px;background:linear-gradient(135deg,#05241a,#0a1f3d);color:rgba(255,255,255,.8);isolation:isolate}
.auth-side::before{content:"";position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:48px 48px;animation:drift 30s linear infinite}
.auth-side::after{content:"";position:absolute;right:-140px;bottom:-140px;width:440px;height:440px;border-radius:50%;border:56px solid rgba(245,165,36,.12);z-index:-1;animation:spin 40s linear infinite}
@keyframes drift{to{background-position:48px 48px,48px 48px}}
@keyframes spin{to{transform:rotate(360deg)}}
.auth-side img{height:44px;width:auto}
.auth-side h2{color:#fff;font-size:34px;line-height:1.2;margin:0 0 12px}
.auth-side p{max-width:440px;margin:0}
.auth-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.auth-badges span{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);font-size:12.5px;font-weight:700;color:#fff}
.auth-main{display:grid;place-items:center;padding:32px 20px}
.auth-card{width:min(420px,100%)}
.auth-card h1{font-size:28px;color:var(--ink);margin:0 0 6px}
.auth-card .sub{color:var(--muted);margin:0 0 26px}
.auth-field{display:grid;gap:7px;margin-bottom:16px}
.auth-field label{font-weight:700;color:var(--ink);font-size:13.5px}
.auth-input{position:relative}
.auth-input .a-ic{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);width:18px;height:18px;pointer-events:none}
.auth-input input{width:100%;height:50px;padding:0 44px;border:1.5px solid #cfd8e3;border-radius:12px;font:inherit;font-size:15px;color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s}
.auth-input input:focus{border-color:var(--g);box-shadow:0 0 0 4px rgba(20,91,49,.12)}
.auth-input .eye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:8px}
.auth-input .eye:hover{color:var(--g);background:var(--g1)}
.otp-input input{letter-spacing:.6em;text-align:center;font-weight:800;font-size:22px;padding:0 14px}
.auth-btn{width:100%;height:52px;border:0;border-radius:12px;background:var(--g);color:#fff;font:inherit;font-weight:800;font-size:15.5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:background .2s,transform .2s,box-shadow .2s}
.auth-btn:hover{background:var(--g6);transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(20,91,49,.7)}
.auth-btn:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.auth-btn.ghost{background:#fff;color:var(--g);border:1.5px solid var(--g)}
.auth-btn.ghost:hover{background:var(--g1)}
.auth-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:-4px 0 18px;font-size:13.5px}
.auth-link{color:var(--g);font-weight:700;text-decoration:none}
.auth-link:hover{text-decoration:underline}
.auth-alert{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;margin-bottom:18px;font-size:14px;font-weight:600}
.auth-alert.err{background:#fdecec;color:#b42318}
.auth-alert.ok{background:var(--g1);color:var(--g)}
.auth-alert.info{background:var(--b1);color:var(--b)}
.auth-alert .a-ic{width:18px;height:18px;margin-top:1px}
.auth-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 0;font-size:13.5px;color:var(--muted)}
.countdown{font-variant-numeric:tabular-nums;font-weight:800;color:var(--ink)}
.pw-hint{font-size:12.5px;color:var(--muted)}
.auth-back{display:inline-flex;align-items:center;gap:6px;margin-top:22px;font-size:13.5px}
@media (max-width:900px){
  .auth-body{grid-template-columns:1fr}
  .auth-side{padding:24px;min-height:auto}
  .auth-side h2{font-size:24px}
  .auth-side .auth-copy{display:none}
}

.ph-wrap{display:grid;place-items:center;min-height:calc(100vh - 140px)}
.ph-card{position:relative;overflow:hidden;width:min(640px,100%);padding:44px 32px;border-radius:22px;background:#fff;border:1px solid var(--line);box-shadow:var(--sh);text-align:center}
.ph-card::before{content:"";position:absolute;inset:0 0 auto;height:6px;background:repeating-linear-gradient(-45deg,var(--a) 0 12px,var(--ink) 12px 24px)}
.ph-icon{position:relative;width:96px;height:96px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:var(--g1);color:var(--g)}
.ph-icon .a-ic{width:42px;height:42px}
.ph-icon::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px dashed rgba(20,91,49,.35);animation:spin 18s linear infinite}
.ph-card h2{margin:0 0 8px;font-size:26px}
.ph-card p{margin:0 auto;max-width:460px;color:var(--muted);line-height:1.7}
.ph-tag{display:inline-block;margin-top:20px;padding:7px 14px;border-radius:999px;background:#fff6e5;color:#b26b00;font-weight:800;font-size:12.5px}
