:root{--navy:#002157;--blue:#0179D0;--magenta:#E22368;--green:#00885B;--logo-cyan:#009BDF;--logo-amber:#FCAF17;--logo-lime:#B2D235;--logo-pink:#EF5BA1;--ink:#333;--muted:#666;--line:#BFBFBF;--surface:#fff;--surface-warm:#F3F2EE;--gc-sky:#CCE4F0;--gc-sky-light:#E4F0FC;--gc-page:#F2FCFF;--gc-teal:#2D9596;--gc-teal-text:#237A7B;--critical:#C2202B;--sans:Arial,"Microsoft JhengHei","PingFang TC","Noto Sans TC",sans-serif}
[hidden]{display:none!important}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--gc-page);color:var(--ink);font:15px/1.6 var(--sans);min-height:100vh;display:flex;flex-direction:column}a{color:var(--blue);text-underline-offset:3px}a:hover{color:var(--navy)}h1,h2,h3{color:var(--navy);line-height:1.35;margin:0 0 12px}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}p{margin:10px 0 16px}small,.muted{color:var(--muted)}small{font-size:12px}strong{font-weight:700}:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 28px}.skip-link{position:absolute;top:-100px;left:16px;z-index:10;background:white;padding:12px;color:var(--navy)}.skip-link:focus{top:8px}.utility{background:var(--navy);color:white;font-size:12px}.utility .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}.user{display:flex;align-items:center;gap:12px}.user form{margin:0}.user button{background:none;border:0;color:white;padding:5px 4px;font-size:12px;min-height:32px;text-decoration:underline}.account-role{border-left:1px solid #ffffff50;padding-left:12px;color:#e4f0fc}.site-header{background:white;border-bottom:1px solid var(--line)}.header-inner{display:flex;align-items:center;gap:24px;min-height:92px;flex-wrap:wrap}.brand{display:flex;align-items:center;flex:none}.brand img{display:block;width:180px;height:auto}.system-name{border-left:1px solid var(--line);padding-left:20px;color:var(--navy);font-size:14px;line-height:1.45;font-weight:700}.system-name span{display:block;font-size:12px;color:var(--muted);font-weight:400}.primary-nav{margin-left:auto;display:flex;gap:4px;align-self:stretch;align-items:stretch}.primary-nav a{display:flex;align-items:center;white-space:nowrap;text-decoration:none;color:var(--navy);font-size:14px;font-weight:700;padding:14px 12px;border-bottom:4px solid transparent}.primary-nav a:hover{background:var(--gc-page)}.primary-nav a[aria-current=page]{border-bottom-color:var(--logo-lime);background:var(--gc-sky-light)}.page-head{background:var(--gc-sky-light);border-top:4px solid var(--logo-lime)}.page-head .wrap{padding-top:26px;padding-bottom:26px}.page-head h1{margin:4px 0 6px}.page-head p{max-width:860px;margin:0;color:var(--navy)}.eyebrow{color:var(--gc-teal-text);font-size:12px;font-weight:700;letter-spacing:1.4px}.crumb{font-size:13px;color:var(--muted);margin:0 0 12px}.crumb a{color:var(--navy)}main{flex:1 0 auto;width:100%;max-width:1200px;padding:30px 28px 10px;margin:0 auto;min-width:0}.card{background:white;border:1px solid var(--line);border-radius:8px;padding:24px;margin:20px 0;min-width:0}.card .card{margin:8px 0;border-color:var(--gc-sky)}.card.featured,.ceremony-tile{border:2px solid var(--gc-teal)}.card>p:last-child{margin-bottom:0}.card h2+p{margin-top:0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:18px}.grid>.card{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px;margin:24px 0}.stats-grid .card{margin:0;border-top:4px solid var(--gc-teal);padding:18px}.stats-grid .card:nth-child(2){border-top-color:var(--blue)}.stats-grid .card:nth-child(4){border-top-color:var(--logo-amber)}.stat{font-size:31px;color:var(--navy);font-weight:700;display:block;line-height:1.3;margin-top:8px;font-variant-numeric:tabular-nums}.dashboard-grid{grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr))}.ceremony-tile{display:flex;flex-direction:column;gap:8px}.ceremony-tile h2{margin:0}.ceremony-tile .button{align-self:flex-start;margin-top:auto}.ceremony-meta{border-top:1px solid var(--gc-sky);padding-top:14px;color:var(--muted)}.toolbar{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.toolbar>div{min-width:0}.toolbar form{display:flex;align-items:center;flex-wrap:wrap;gap:10px;max-width:100%}.toolbar form input{width:260px;max-width:100%}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--navy);background:var(--navy);color:white;font:700 14px/1.4 var(--sans);padding:10px 20px;border-radius:40px;text-decoration:none;cursor:pointer;min-height:44px;max-width:100%;text-align:center}button:hover,.button:hover{background:var(--blue);border-color:var(--blue);color:white}.ghost{background:white;color:var(--navy);border-color:var(--navy)}.ghost:hover{background:var(--gc-sky-light);color:var(--navy);border-color:var(--navy)}button:disabled,.button[aria-disabled=true]{opacity:.45;cursor:not-allowed}.small{padding:6px 14px;min-height:34px;font-size:13px}.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid #8dc6b2;border-radius:40px;padding:3px 10px;background:#E3F4EC;color:#00512F;font-size:12px;font-weight:700;line-height:1.6}.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}.pill.warn{background:#FFF3D6;border-color:var(--logo-amber);color:var(--navy)}.pill.warn::before{background:var(--logo-amber)}.tabs{display:flex;gap:6px;overflow-x:auto;border-bottom:2px solid var(--navy);padding:4px 0 0;margin:24px 0;scrollbar-width:thin}.tabs a{flex:none;display:flex;align-items:center;gap:9px;padding:12px 18px;border:1px solid var(--line);border-bottom:4px solid transparent;border-radius:8px 8px 0 0;background:white;color:var(--navy);text-decoration:none;font-weight:700;font-size:14px;white-space:nowrap}.tabs a:hover{background:var(--gc-sky-light)}.tabs a[aria-selected=true]{background:var(--navy);color:white;border-color:var(--navy);border-bottom-color:var(--logo-lime)}.tab-number{opacity:.65;font-size:11px;font-variant-numeric:tabular-nums}.tab-panel{min-width:0}.section-heading{display:flex;align-items:center;gap:12px;margin-bottom:20px}.section-heading>span{height:30px;width:4px;flex:none;border-radius:3px;background:var(--gc-teal)}.section-heading h2{margin:0}.panel-intro{padding:14px 18px;background:var(--gc-sky-light);border-left:4px solid var(--blue);border-radius:0 8px 8px 0;color:var(--navy);font-size:14px}.notice,.error{padding:14px 18px;border:1px solid var(--green);border-left-width:5px;background:#E3F4EC;border-radius:8px;margin:0 0 20px;color:#00512F}.error{background:#FBE9EA;border-color:var(--critical);color:#7A1018}.empty-state{text-align:center;padding:36px 20px;background:white;border:1px dashed var(--line);border-radius:8px}.empty-state strong{display:block;color:var(--navy);font-size:18px}label{display:block;color:var(--navy);font-size:14px;font-weight:700;margin:16px 0 6px}input,select,textarea{display:block;width:100%;font:400 16px/1.4 var(--sans);border:1px solid var(--muted);padding:11px 12px;border-radius:8px;background:white;color:#1D1D1D;min-width:0}input[type=hidden]{display:none}input[type=checkbox],input[type=radio]{display:inline-block;width:18px;height:18px;padding:0;accent-color:var(--navy);vertical-align:middle;margin:0 6px 2px 0}input[type=file]{border:1px dashed var(--gc-teal);background:var(--gc-page);padding:20px}input[type=color]{padding:5px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:1px}form.inline{display:inline-block;margin:4px 5px 4px 0}code{font-size:13px;color:var(--navy);background:var(--gc-sky-light);border-radius:4px;padding:3px 6px;overflow-wrap:anywhere}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin:16px 0;background:white}table{border-collapse:collapse;width:100%;font-size:14px}td,th{padding:14px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #dce6e9}th{background:var(--gc-sky-light);color:var(--navy);font-size:13px;font-weight:700;white-space:nowrap;border-bottom:2px solid var(--navy)}td{min-width:115px;overflow-wrap:anywhere}td:first-child{min-width:155px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--gc-page)}td form input{max-width:280px}details{margin:14px 0}summary{cursor:pointer;font-weight:700;color:var(--navy);padding:8px 0}details[open]>summary{margin-bottom:12px}.auth{max-width:480px;margin:16px auto;padding:32px;border:2px solid var(--gc-teal)}.auth button{width:100%;margin-top:24px}.auth-switch{display:flex;border-bottom:2px solid var(--navy);gap:4px;margin-bottom:24px}.auth-switch a{flex:1;text-align:center;padding:10px 6px;color:var(--navy);font-weight:700;text-decoration:none;border-radius:6px 6px 0 0;font-size:14px}.auth-switch a[aria-current=page]{background:var(--navy);color:white;border-bottom:3px solid var(--logo-lime)}.auth .eyebrow{margin-bottom:8px}.scanner{max-width:920px;margin:auto}.scanner input#token{font-family:Consolas,monospace;font-size:17px}.result{min-height:100px;padding:22px;border-radius:8px;background:var(--gc-sky-light);margin:18px 0;font-size:19px;white-space:pre-line;border-left:5px solid var(--blue)}.result.good{background:#E3F4EC;border-color:var(--green)}.result.bad{background:#FBE9EA;border-color:var(--critical)}.result.warn{background:#FFF3D6;border-color:var(--logo-amber)}.scanner .card:first-of-type{border:2px solid var(--gc-teal)}.scanner-back{margin-bottom:20px}.demo-row{padding:18px 0;border-bottom:1px solid var(--line)}.demo-row:last-child{border-bottom:0}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:24px}.step-list{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin-bottom:24px}.step-list strong{color:var(--navy)}nav[role=navigation]{margin-top:20px;font-size:13px}nav[role=navigation] svg{width:18px;height:18px}nav[role=navigation] p{margin:8px 0}nav[role=navigation] a,nav[role=navigation] span[aria-current]{display:inline-flex;padding:5px 10px;border-radius:4px}.site-footer{background:var(--navy);color:white;margin-top:44px;font-size:12px}.site-footer .wrap{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}.site-footer span{color:#e4f0fc}
@media(max-width:1000px){.header-inner{gap:18px}.primary-nav{width:100%;margin-left:0;overflow-x:auto}.primary-nav a{padding:12px 14px}.brand img{width:170px}}
@media(max-width:650px){.wrap{padding-left:18px;padding-right:18px}main{padding:22px 16px 0}.utility .site{display:none}.utility .wrap{justify-content:flex-end}.user{gap:8px}.account-role{padding-left:8px}.header-inner{min-height:72px;gap:8px}.brand img{width:155px}.system-name{margin-left:auto;border:0;padding-left:8px;font-size:12px}.system-name span{font-size:11px}.primary-nav{gap:0}.primary-nav a{font-size:13px;padding:10px 12px}.page-head .wrap{padding-top:20px;padding-bottom:20px}.page-head h1{font-size:25px}.page-head p{font-size:14px}.card{padding:18px;margin:18px 0}h2{font-size:20px}.tabs{margin:20px 0;gap:5px}.tabs a{padding:12px 14px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0}.stats-grid .card{padding:14px}.stat{font-size:26px}.stats-grid .card:last-child:nth-child(odd){grid-column:1/-1}.two-column{grid-template-columns:1fr}.auth{padding:22px;margin-top:0}.toolbar{align-items:stretch}.toolbar form{width:100%}.toolbar form input{flex:1;width:0;min-width:120px}.site-footer .wrap{display:block}.site-footer span{display:block;margin-top:4px}.tab-number{display:none}.form-actions button{width:100%}}
.scanner-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}.scanner-layout>.card{margin-top:20px}.scanner{max-width:1100px}.two-column>.card{height:calc(100% - 40px)}
@media(max-width:800px){.scanner-layout{grid-template-columns:1fr;gap:0}.two-column>.card{height:auto}}

.ceremony-tile>.pill{align-self:flex-start}.toolbar>.button{align-self:center}

.pagination-row{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.page-links{display:flex;gap:6px;flex-wrap:wrap;align-items:center}nav[role=navigation] .page-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;min-width:40px;padding:6px 12px;border:1px solid var(--line);background:white;color:var(--navy);border-radius:5px;text-decoration:none}.page-link.disabled{color:var(--muted);background:var(--surface-warm)}nav[role=navigation] .page-link.current{background:var(--navy);color:white;border-color:var(--navy)}
