@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=IBM+Plex+Mono:wght@500;600&display=swap";:root{--ink-navy:#0b3d22;--glass-deep:#04140b;--glass-mid:#0a2a18;--harbour:#146b3a;--harbour-light:#2e9e5b;--seal-gold:#e8b923;--seal-gold-rich:#c79a2b;--seal-gold-light:#f2ce5c;--parchment:#f7f2e7;--parchment-dim:#ede6d5;--paper:#fff;--ink:#10201a;--ink-soft:#52605a;--verified-green:#147a42;--verified-green-bg:#e3f3e8;--revoked-red:#b23b3b;--revoked-red-bg:#fbeaea;--pending-amber:#8a6200;--pending-amber-bg:#fbf1d2;--border-soft:#e3dcc8;--border-navy:#0b3d2221;--border-glass:#ffffff24;--tint-green:#e3f3e8;--tint-gold:#fbf1d2;--tint-mist:#eef3f0;--font-display:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-body:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--font-mono:"IBM Plex Mono", "SFMono-Regular", monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:22px;--radius-xl:34px;--shadow-card:0 1px 2px #0b3d220d, 0 14px 30px -16px #0b3d222e;--shadow-raised:0 6px 16px #0b3d221a, 0 26px 52px -20px #0b3d224d;--shadow-glow-gold:0 8px 24px -8px #e8b92373;--shadow-glass:0 30px 70px -30px #0000008c, inset 0 1px 0 #ffffff0f;--container-width:1180px;--ease:cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:var(--parchment);margin:0;font-size:16px;line-height:1.55}body:before{content:"";z-index:-1;filter:blur(1.5px);background-image:linear-gradient(165deg,#f7f2e7f7 0%,#ede6d5f2 45%,#f7f2e7fa 100%),url(/dwu-campus.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;position:fixed;inset:0;transform:scale(1.03)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeInUp .6s var(--ease) both}.fade-in-1{animation:fadeInUp .6s var(--ease) 50ms both}.fade-in-2{animation:fadeInUp .6s var(--ease) .14s both}.fade-in-3{animation:fadeInUp .6s var(--ease) .23s both}.glass-panel{border-radius:var(--radius-xl);color:#fff;background:radial-gradient(ellipse 900px 500px at 15% -10%, #e8b92329, transparent 60%), radial-gradient(ellipse 700px 500px at 100% 110%, #2e9e5b47, transparent 55%), linear-gradient(160deg, var(--ink-navy) 0%, var(--glass-mid) 45%, var(--glass-deep) 100%);box-shadow:var(--shadow-glass);border:1px solid var(--border-glass);position:relative;overflow:hidden}.glass-panel h1,.glass-panel h2,.glass-panel h3{color:#fff}.glass-panel p{color:#ffffffc7}.glass-panel .eyebrow{color:var(--seal-gold-light)}.hero-banner{border-radius:var(--radius-xl);color:#fff;box-shadow:var(--shadow-glass);border:1px solid var(--border-glass);background-image:radial-gradient(900px 500px at 12% -10%,#e8b92333,#0000 60%),linear-gradient(135deg,#0b3d22f2 0%,#0a2a18e6 55%,#04140be0 100%),url(/dwu-campus.jpg);background-position:50%;background-size:cover;padding:60px 52px;position:relative;overflow:hidden}.hero-banner h1,.hero-banner h2{color:#fff}.hero-banner p{color:#ffffffd1}.hero-banner .eyebrow{color:var(--seal-gold-light)}@media (width<=640px){.hero-banner,.glass-panel{border-radius:var(--radius-lg);padding:36px 26px}}h1,h2,h3,h4{font-family:var(--font-display);color:var(--ink-navy);letter-spacing:-.025em;margin:0 0 .5em;font-weight:800;line-height:1.05}h1{font-size:clamp(2.3rem,1.6rem + 2.6vw,3.8rem)}h2{font-size:clamp(1.6rem,1.35rem + 1vw,2.3rem)}h3{font-size:1.2rem;font-weight:700}em,.accent-italic{color:var(--harbour);font-style:italic}p{color:var(--ink-soft);margin:0 0 1em}a{color:var(--harbour);transition:color .15s var(--ease);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--font-mono);letter-spacing:.01em}button,input,select,textarea{font-family:inherit;font-size:1rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--seal-gold);outline-offset:2px}::selection{background:var(--seal-gold-light)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.container{max-width:var(--container-width);margin:0 auto;padding:0 24px}.page{flex-direction:column;min-height:100vh;display:flex}.page-body{flex:1;padding:36px 0 64px}.card{background:var(--paper);border:1px solid var(--border-navy);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow .25s var(--ease), transform .25s var(--ease)}.card-pad{padding:30px}.tint-card{border-radius:var(--radius-lg);transition:transform .25s var(--ease), box-shadow .25s var(--ease);border:none;padding:30px}.tint-card:hover{box-shadow:var(--shadow-raised);transform:translateY(-3px)}.tint-card-green{background:var(--tint-green)}.tint-card-gold{background:var(--tint-gold)}.tint-card-mist{background:var(--tint-mist)}.index-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px;display:grid}.index-card{border:1px solid var(--border-glass);border-radius:var(--radius-lg);text-align:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease);background:#ffffff0d;padding:44px 26px 28px;position:relative}.index-card:hover{background:#ffffff14;border-color:#e8b92359;transform:translateY(-4px)}.index-card .index-number{font-family:var(--font-mono);color:var(--seal-gold-light);opacity:.85;letter-spacing:.05em;font-size:.78rem;position:absolute;top:18px;left:22px}.index-card h3{color:#fff;margin-bottom:8px}.index-card p{color:#ffffffb3;margin-bottom:0;font-size:.9rem}.icon-badge{background:linear-gradient(145deg, var(--seal-gold-light), var(--seal-gold-rich));width:60px;height:60px;box-shadow:var(--shadow-glow-gold), inset 0 1px 1px #ffffff80;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.icon-badge svg{width:26px;height:26px;color:var(--ink-navy)}.btn{cursor:pointer;transition:transform .18s var(--ease), box-shadow .18s var(--ease), background .18s var(--ease), border-color .18s var(--ease);border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.95rem;font-weight:700;display:inline-flex}.btn:active{transform:translateY(1px)scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--ink-navy);color:#fff}.btn-primary:hover:not(:disabled){background:var(--harbour);box-shadow:var(--shadow-raised);transform:translateY(-1px)}.btn-gold{background:linear-gradient(135deg, var(--seal-gold-light), var(--seal-gold-rich));color:var(--ink-navy);box-shadow:var(--shadow-glow-gold)}.btn-gold:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 30px -8px #e8b92399}.btn-outline{color:var(--ink-navy);border:1.5px solid var(--border-navy);background:0 0}.btn-outline:hover:not(:disabled){border-color:var(--ink-navy);background:var(--parchment-dim)}.btn-danger{background:var(--revoked-red);color:#fff}.btn-danger:hover:not(:disabled){background:#942f2f}.btn-sm{padding:8px 16px;font-size:.85rem}.field{margin-bottom:18px}.field label{color:var(--ink-navy);letter-spacing:.01em;margin-bottom:6px;font-size:.85rem;font-weight:700;display:block}.field input,.field select,.field textarea{border:1.5px solid var(--border-soft);border-radius:var(--radius-md);background:var(--paper);width:100%;color:var(--ink);transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:12px 16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--harbour);outline:none;box-shadow:0 0 0 4px #146b3a1a}.field-error{color:var(--revoked-red);margin-top:5px;font-size:.82rem}.form-error-banner{background:var(--revoked-red-bg);color:var(--revoked-red);border-radius:var(--radius-md);border:1px solid #b23b3b40;margin-bottom:18px;padding:12px 18px;font-size:.9rem}.badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;gap:6px;padding:4px 12px;font-size:.74rem;font-weight:700;display:inline-flex}.badge-issued,.badge-authentic,.badge-active{background:var(--verified-green-bg);color:var(--verified-green)}.badge-requested,.badge-pending{background:var(--pending-amber-bg);color:var(--pending-amber)}.badge-revoked,.badge-fraudulent,.badge-rejected,.badge-suspended{background:var(--revoked-red-bg);color:var(--revoked-red)}.badge-expired,.badge-deactivated{color:#666;background:#eee}.badge-approved{color:var(--harbour);background:#e5f0e9}.topbar{-webkit-backdrop-filter:blur(14px)saturate(1.4);backdrop-filter:blur(14px)saturate(1.4);border-bottom:1px solid var(--border-navy);z-index:10;background:#ffffffd9;position:sticky;top:0}.topbar-inner{max-width:var(--container-width);justify-content:space-between;align-items:center;gap:16px;margin:0 auto;padding:14px 24px;display:flex}.brand{color:var(--ink-navy);align-items:center;gap:12px;display:flex}.brand:hover{text-decoration:none}.brand-logo{object-fit:contain;filter:drop-shadow(0 2px 6px #0b3d2226);flex-shrink:0;width:auto;height:40px}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text strong{font-family:var(--font-display);color:var(--ink-navy);font-size:1rem;font-weight:800}.brand-text span{color:var(--harbour);letter-spacing:.03em;font-size:.7rem;font-weight:600}.nav-links{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.nav-links a{color:var(--ink-soft);transition:background .15s var(--ease), color .15s var(--ease);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:600;position:relative}.nav-links a:hover{background:var(--parchment-dim);color:var(--ink-navy);text-decoration:none}.nav-links a.active{background:var(--tint-green);color:var(--ink-navy);text-decoration:none}.nav-user{flex-shrink:0;align-items:center;gap:12px;font-size:.88rem;display:flex}.nav-user>a{color:var(--ink-navy);font-weight:600}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:13px 16px;font-size:.92rem}thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);border-bottom:2px solid var(--border-navy);font-size:.72rem;font-weight:700}tbody tr{border-bottom:1px solid var(--parchment-dim);transition:background .15s var(--ease)}tbody tr:hover{background:var(--parchment)}.pill-tabs{background:var(--parchment-dim);border-radius:999px;flex-wrap:wrap;align-items:center;gap:4px;padding:5px;display:inline-flex}.pill-tab{color:var(--ink-soft);cursor:pointer;transition:background .18s var(--ease), color .18s var(--ease);white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:9px 18px;font-size:.85rem;font-weight:700}.pill-tab:hover{color:var(--ink-navy)}.pill-tab.active{background:var(--ink-navy);color:#fff;box-shadow:var(--shadow-raised)}.stack{flex-direction:column;gap:14px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.spread{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.muted{color:var(--ink-soft);font-size:.9rem}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--harbour);font-size:.75rem;font-weight:700}.hero-banner .eyebrow,.glass-panel .eyebrow{letter-spacing:.12em}.empty-state{text-align:center;color:var(--ink-soft);padding:48px 24px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;display:grid}.stat-card{padding:22px}.stat-value{font-family:var(--font-display);color:var(--ink-navy);letter-spacing:-.02em;font-size:2.3rem;font-weight:800}.stat-label{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;font-size:.78rem;font-weight:600}.footer{background:var(--ink-navy);color:#f7f2e7ad;text-align:center;padding:22px 0;font-size:.85rem}.footer-status{border-left:1px solid #f7f2e738;align-items:center;gap:7px;margin-left:14px;padding-left:14px;display:inline-flex}.footer-status .pulse-dot{background:#4ade80;border-radius:50%;width:7px;height:7px;animation:2s infinite pulseDot;box-shadow:0 0 #4ade80b3}@keyframes pulseDot{0%{box-shadow:0 0 #4ade808c}70%{box-shadow:0 0 0 7px #4ade8000}to{box-shadow:0 0 #4ade8000}}@media (width<=900px){.nav-links{display:none}}@media (width<=720px){.topbar-inner{padding:12px 16px}.brand-logo{height:32px}}.seal-wrap{flex-direction:column;align-items:center;gap:22px;padding:12px 0 4px;display:flex}.seal{--seal-color:var(--ink-soft);--seal-bg:#f1efe8;border-radius:50%;justify-content:center;align-items:center;width:148px;height:148px;animation:.7s cubic-bezier(.2,.8,.2,1) seal-settle;display:flex;position:relative}.seal:after{content:"";background:radial-gradient(circle, var(--seal-glow,#52605a40) 0%, transparent 68%);z-index:-1;opacity:.85;border-radius:50%;position:absolute;inset:-22px}.seal:before{content:"";background:conic-gradient(var(--seal-color) 0deg 10deg, transparent 10deg 18deg, var(--seal-color) 18deg 28deg, transparent 28deg 36deg, var(--seal-color) 36deg 46deg, transparent 46deg 54deg, var(--seal-color) 54deg 64deg, transparent 64deg 72deg, var(--seal-color) 72deg 82deg, transparent 82deg 90deg, var(--seal-color) 90deg 100deg, transparent 100deg 108deg, var(--seal-color) 108deg 118deg, transparent 118deg 126deg, var(--seal-color) 126deg 136deg, transparent 136deg 144deg, var(--seal-color) 144deg 154deg, transparent 154deg 162deg, var(--seal-color) 162deg 172deg, transparent 172deg 180deg, var(--seal-color) 180deg 190deg, transparent 190deg 198deg, var(--seal-color) 198deg 208deg, transparent 208deg 216deg, var(--seal-color) 216deg 226deg, transparent 226deg 234deg, var(--seal-color) 234deg 244deg, transparent 244deg 252deg, var(--seal-color) 252deg 262deg, transparent 262deg 270deg, var(--seal-color) 270deg 280deg, transparent 280deg 288deg, var(--seal-color) 288deg 298deg, transparent 298deg 306deg, var(--seal-color) 306deg 316deg, transparent 316deg 324deg, var(--seal-color) 324deg 334deg, transparent 334deg 342deg, var(--seal-color) 342deg 352deg, transparent 352deg 360deg);opacity:.9;border-radius:50%;position:absolute;inset:0}.seal-inner{background:var(--seal-bg);border:2px solid var(--seal-color);width:112px;height:112px;color:var(--seal-color);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.seal-inner svg{width:46px;height:46px}.seal.seal-authentic{--seal-color:var(--verified-green);--seal-bg:var(--verified-green-bg);--seal-glow:#147a424d}.seal.seal-revoked,.seal.seal-fraudulent,.seal.seal-tampered{--seal-color:var(--revoked-red);--seal-bg:var(--revoked-red-bg);--seal-glow:#b23b3b47}.seal.seal-expired{--seal-color:var(--pending-amber);--seal-bg:var(--pending-amber-bg);--seal-glow:#8a620040}.seal.seal-notfound{--seal-color:#7a8291;--seal-bg:#eef0f2;--seal-glow:#7a829138}.seal.seal-loading{--seal-color:var(--harbour);--seal-bg:#eef2f6;--seal-glow:#146b3a47;animation:1.1s linear infinite seal-spin}.file-integrity-badge{font-size:.85rem;font-weight:600}.file-integrity-good{color:var(--verified-green);background:var(--verified-green-bg)}.file-integrity-bad{color:var(--revoked-red);background:var(--revoked-red-bg)}.file-integrity-neutral{color:#7a8291;background:#eef0f2}@keyframes seal-settle{0%{opacity:0;transform:scale(.7)rotate(-16deg)}70%{opacity:1;transform:scale(1.04)rotate(2deg)}to{transform:scale(1)rotate(0)}}@keyframes seal-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.seal-result-title{font-family:var(--font-display);text-align:center;font-size:1.4rem}.seal-result-sub{text-align:center;max-width:380px}@media (prefers-reduced-motion:reduce){.seal,.seal.seal-loading{animation:none}}
