:root{--navy:#0b2e59;--navy-dark:#08203f;--maroon:#7a1f2b;--gold:#b9962f;--cream:#f5f1e6;--panel:#fbfaf5;--ink:#1a2233;--rule:#b9a87f;--link:#0b3a8a}*{box-sizing:border-box}body{margin:0;background:#d9d2c0 url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4'><rect width='4' height='4' fill='%23d9d2c0'/><rect width='1' height='1' fill='%23cfc8b4'/></svg>");color:var(--ink);font-family:Georgia,Times New Roman,Times,serif;font-size:15px;line-height:1.5}a{color:var(--link);text-decoration:underline}a:hover{color:var(--maroon)}.page{max-width:880px;margin:18px auto 40px;background:var(--panel);border:2px solid var(--navy-dark);box-shadow:3px 3px 0 #00000022}.masthead{background:linear-gradient(180deg,var(--navy) 0,var(--navy-dark) 100%);color:#fff;padding:10px 16px;border-bottom:3px solid var(--gold);display:flex;align-items:center;justify-content:space-between}.masthead h1{font-size:20px;margin:0;letter-spacing:.3px;font-feature-settings:"smcp";font-variant:small-caps}.masthead .seal{font-size:11px;color:#ffd98a;text-align:right;line-height:1.3}.navbar{background:linear-gradient(180deg,#e7e0cd,#cfc6ad);border-bottom:1px solid var(--rule);padding:5px 14px;font-size:13px}.navbar a{color:var(--navy-dark);margin-right:14px}.content{padding:18px 22px}h2{color:var(--navy);border-bottom:2px solid var(--maroon);padding-bottom:4px;font-size:18px;margin-top:4px}h3{color:var(--maroon);font-size:15px;margin-bottom:6px}.panel{background:var(--cream);border:1px solid var(--rule);border-top:1px solid #fff;border-left:1px solid #fff;padding:14px;margin:14px 0}label{display:block;font-weight:700;color:var(--navy-dark);font-size:13px;margin:10px 0 3px}input[type=number],input[type=password],input[type=text],select,textarea{width:100%;font-family:inherit;font-size:14px;padding:6px 7px;border:2px inset #cfc6ad;background:#fffef9}textarea{min-height:64px;resize:vertical}.checkbox-row{display:flex;align-items:center;gap:8px;margin-top:12px}.checkbox-row input{width:auto}.checkbox-row label{margin:0}.btn,button{font-family:Georgia,serif;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(180deg,#2a64ad,var(--navy));border:2px outset #6f9ad1;padding:7px 16px;cursor:pointer}button:hover{background:linear-gradient(180deg,#3573bf,var(--navy-dark))}button.secondary{background:linear-gradient(180deg,#b7ad90,#8a7f63);border-color:#cfc6ad}button.danger{background:linear-gradient(180deg,#a63440,var(--maroon));border-color:#c98c93}button:disabled{opacity:.5;cursor:not-allowed}table.grid{width:100%;border-collapse:collapse;font-size:13px;margin:8px 0}table.grid th{background:var(--navy);color:#fff;text-align:left;padding:5px 8px;font-feature-settings:"smcp";font-variant:small-caps}table.grid td{border:1px solid var(--rule);padding:5px 8px;background:#fff;vertical-align:top}table.grid tr:nth-child(2n) td{background:#f6f3ea}.kv{border-collapse:collapse}.kv td{padding:2px 12px 2px 0}.kv td:first-child{font-weight:700;color:var(--navy-dark)}.notice{border-left:5px solid var(--gold);background:#fff8e6;font-size:13px}.error,.notice{padding:10px 12px;margin:12px 0}.error{border-left:5px solid var(--maroon);background:#fdecec;color:#7a1f2b}.ok{border-left:5px solid #2e7d32;background:#ecf7ec;padding:10px 12px;margin:12px 0}.cardface{background:linear-gradient(135deg,#1c3c66,#0b2e59);color:#fff;border:2px solid var(--gold);border-radius:10px;padding:18px;max-width:360px;font-family:Courier New,monospace;letter-spacing:2px;margin:14px 0;box-shadow:2px 2px 6px #0006}.cardface .pan{font-size:21px;margin:10px 0}.cardface .row{display:flex;justify-content:space-between;font-size:13px}.pass{color:#2e7d32}.fail,.pass{font-weight:700}.fail{color:var(--maroon)}.footer{background:#e7e0cd;border-top:1px solid var(--rule);padding:10px 16px;font-size:11px;color:#5b5340}.tabbar{display:flex;gap:2px;margin-top:8px;border-bottom:2px solid var(--navy)}.tabbar button{border-radius:0;border:1px solid var(--rule);border-bottom:none;background:linear-gradient(180deg,#e7e0cd,#cfc6ad);color:var(--navy-dark);font-size:13px;padding:6px 12px}.tabbar button.active{background:var(--navy);color:#fff}.muted{color:#6b6450;font-size:12px}.right{text-align:right}.mono{font-family:Courier New,monospace}.actionbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap}@media (max-width:640px){body{font-size:14px}.page{margin:0;border-width:0 0 2px;box-shadow:none}.masthead{flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px}.masthead h1{font-size:16px}.masthead .seal{text-align:left;font-size:10px}.content{padding:12px}.navbar{padding:6px 12px}table.grid{overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}table.grid,table.kv,table.kv tbody,table.kv td,table.kv tr{display:block;width:100%}table.kv td:first-child{padding-top:8px}table.kv td:last-child{padding-bottom:4px}.tabbar{flex-wrap:wrap}.tabbar button{flex:1 1 auto}.cardface{max-width:100%}.panel{max-width:100%!important}input[type=number],input[type=password],input[type=text],select,textarea{max-width:100%}}