/* Card materials and compositions adapted from html/css document templates, scoped to the UCP. */
.ucp-wallet { margin-top: 30px; }
.uw-gallery-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:10px 0 28px; }
.uw-eyebrow { color:var(--accent); font-size:10px; font-weight:800; letter-spacing:.16em; }
.uw-gallery-heading h2 { font-size:clamp(24px,3vw,35px); margin:9px 0; letter-spacing:-.055em; }
.uw-gallery-heading p { color:var(--muted); margin:0; font-size:13px; line-height:1.65; }
.uw-card-count { display:grid; text-align:center; font-size:37px; font-weight:650; line-height:1.15; padding-left:25px; border-left:1px solid var(--line); }
.uw-card-count small { font-size:10px; color:var(--muted); font-weight:400; margin-top:4px; }
.ucp-wallet-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,390px),1fr)); gap:31px 30px; }
.ucp-wallet-card { min-width:0; max-width:720px; }
.uw-card-category { color:#8993a2; font-size:9px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:8px; }
.uw-card-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 12px; font-size:12px; font-weight:600; }
.uw-card-meta>span:first-child { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uw-status { display:inline-flex; align-items:center; gap:6px; flex-shrink:0; font-size:10px; font-weight:400; color:#a8c2a6; }
.uw-status i { width:5px; height:5px; border-radius:50%; background:currentColor; }
.uw-status-warning { color:#ffb294; }.uw-status-unknown { color:#a4acb9; }
.uw-scene { width:100%; aspect-ratio:620/391; position:relative; }
.uw-flip-button { all:unset; position:absolute; inset:0; cursor:pointer; display:block; border-radius:15px; }
.uw-flip-button:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
.uw-artboard { display:block; width:620px; height:391px; transform-origin:top left; transform:scale(var(--uw-scale,.6)); perspective:1500px; }
.uw-rotator { display:block; position:relative; width:620px; height:391px; transform-style:preserve-3d; transition:transform .72s cubic-bezier(.22,.7,.15,1); }
.is-flipped .uw-rotator { transform:rotateY(180deg); }
.uw-face { box-sizing:border-box; position:absolute; inset:0; overflow:hidden; border-radius:18px; backface-visibility:hidden; -webkit-backface-visibility:hidden; color:#242932; font-family:Arial,sans-serif; text-align:left; box-shadow:0 14px 38px #0003,inset 0 0 0 1px #0002; }
.uw-face * { box-sizing:border-box; }
.uw-face::after { content:''; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 2px #fff5; pointer-events:none; background:linear-gradient(120deg,#fff1,transparent 40%,#fff2 70%,transparent); }
.uw-front,.uw-back { background:repeating-radial-gradient(ellipse at 75% 20%,transparent 0 9px,#27377909 10px 11px,transparent 12px 18px),linear-gradient(125deg,#dfe7ed,#f7f1e3 60%,#d6e8e0); }
.uw-back { transform:rotateY(180deg); }
.uw-photo { position:relative; display:block; flex:none; overflow:hidden; background:linear-gradient(130deg,#8a908977,#e4e5d577); border:1px solid #0002; }
.uw-photo img { width:100%; height:100%; display:block; object-fit:cover; object-position:center 22%; filter:grayscale(.85) contrast(1.04); }
.uw-photo>svg { position:absolute; top:20%; left:25%; width:50%; height:50%; opacity:.28; }
.uw-photo>small { position:absolute; bottom:10%; left:0; right:0; text-align:center; font:11px Arial,sans-serif; }
.uw-photo.uw-image-missing::after { content:'Lichtbild nicht verfügbar'; position:absolute; inset:42% 5% 0; font:11px Arial,sans-serif; text-align:center; }
.uw-ghost { opacity:.27; mix-blend-mode:multiply; }
.uw-ghost small { display:none; }
.uw-field { min-width:0; margin:0; }
.uw-field dt { color:inherit; opacity:.72; font:10px/1.25 Arial,sans-serif; margin:0 0 4px; letter-spacing:.025em; }
.uw-field dd { color:inherit; font:600 17px/1.15 Arial,sans-serif; margin:0; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uw-field-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.uw-seal { object-fit:contain; }
.uw-heading { position:absolute; top:25px; left:28px; right:28px; height:66px; display:flex; align-items:center; gap:17px; border-bottom:1px solid #26314424; padding-bottom:14px; }
.uw-heading>span { min-width:0; }
.uw-heading strong { display:block; font:800 29px/1.05 Arial,sans-serif; letter-spacing:-.045em; }
.uw-heading small { display:block; font:700 9px Arial,sans-serif; letter-spacing:.055em; margin-top:7px; }
.uw-heading>.uw-seal { width:43px; height:49px; }
.uw-face>.uw-seal { position:absolute; width:170px; height:190px; right:38px; top:107px; opacity:.06; }
.uw-person-body { position:absolute; left:29px; top:109px; right:32px; display:flex; gap:24px; }
.uw-person-body>.uw-photo { width:142px; height:184px; }
.uw-person-body>dl { flex:1; display:flex; flex-direction:column; gap:12px; margin:0; }
.uw-card-foot { position:absolute; left:29px; right:29px; bottom:23px; display:flex; justify-content:space-between; align-items:end; gap:15px; font:700 9px Arial,sans-serif; letter-spacing:.02em; }
.uw-signature { display:block; font:italic 25px/1 'Segoe Script','Brush Script MT',cursive; letter-spacing:-.04em; transform:rotate(-4deg); max-width:270px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uw-back-heading { position:relative; z-index:1; display:flex; justify-content:space-between; align-items:center; gap:12px; margin:22px 28px 0; padding-bottom:14px; border-bottom:1px solid #26314444; font:700 10px Arial,sans-serif; letter-spacing:.035em; }
.uw-reverse-fields { position:absolute; top:90px; left:30px; right:30px; display:grid; grid-template-columns:1fr 1fr; gap:19px 22px; margin:0; }
.uw-reverse-extra { position:absolute; left:30px; right:30px; bottom:82px; display:flex; gap:18px; padding-top:14px; border-top:1px solid #26314422; }
.uw-reverse-extra>span { flex:1; min-width:0; }
.uw-reverse-extra small { display:block; font-size:9px; opacity:.7; margin-bottom:4px; }
.uw-reverse-extra b { display:block; font-size:11px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.uw-eu { display:flex; align-items:center; position:absolute; top:24px; left:29px; width:119px; height:73px; background:#123887; color:#ffe074; }
.uw-eu img { width:73px; height:53px; object-fit:contain; margin-left:3px; }
.uw-eu b { font:500 28px Arial,sans-serif; }
/* The same pink Austrian EU layout as the actual in-game driving licence. */
.uw-theme-driver .uw-front { background:repeating-radial-gradient(ellipse at 66% 48%,transparent 0 10px,#86367e22 11px 12px,transparent 13px 18px),radial-gradient(ellipse at 61% 49%,transparent 50%,#e3bb2350 51% 52%,transparent 53%),linear-gradient(118deg,#f4c4b9,#efb0b7 39%,#f5c6b8 72%,#eaa8b8); }
.uw-theme-driver .uw-back { background:repeating-radial-gradient(ellipse at 20% 80%,#65389716 0 1px,transparent 1px 6px),linear-gradient(120deg,#efb0bf,#f7d3bd 48%,#e9b4c8); }
.uw-theme-driver .uw-front::before { content:''; position:absolute; left:-30px; right:-30px; bottom:-40px; height:160px; background:repeating-radial-gradient(ellipse at 17% 50%,transparent 0 8px,#30328544 9px 10px,transparent 11px 17px); }
.uw-driver-heading { position:absolute; left:188px; top:30px; }
.uw-driver-heading strong { font:900 30px/.95 'Arial Narrow',Arial,sans-serif; letter-spacing:-.035em; }
.uw-driver-heading small { display:block; margin-top:8px; font:700 9px Arial,sans-serif; }
.uw-theme-driver .uw-front>.uw-photo { position:absolute; left:29px; top:115px; width:143px; height:181px; }
.uw-theme-driver .uw-front>.uw-ghost { left:auto; top:29px; right:27px; width:59px; height:78px; }
.uw-driver-fields { position:absolute; top:105px; left:188px; right:57px; display:flex; flex-direction:column; gap:10px; margin:0; }
.uw-driver-fields .uw-field { display:flex; align-items:baseline; gap:7px; }
.uw-driver-fields .uw-field dt { font-size:11px; font-weight:800; margin:0; opacity:.9; }
.uw-driver-fields .uw-field dd { font-size:14px; font-weight:800; }
.uw-driver-fields>.uw-field:first-child dd,.uw-driver-fields>.uw-field:nth-child(2) dd { font-size:17px; }
.uw-driver-row { display:flex; gap:18px; }
.uw-driver-row .uw-field { flex:1; }
.uw-signature-row { margin-top:7px!important; min-height:42px; }
.uw-driver-fields .uw-signature { font-size:31px; }
.uw-driver-classes { position:absolute; top:307px; left:29px; width:150px; font:800 14px Arial,sans-serif; line-height:1.5; }
.uw-driver-classes small { margin-right:7px; font-size:11px; }
.uw-microprint { position:absolute; bottom:9px; left:16px; right:16px; color:#902332aa; font:700 6px/1.3 Arial,sans-serif; text-align:center; letter-spacing:.15em; }
.uw-driver-table { position:absolute; top:54px; left:23px; width:574px; border-collapse:collapse; table-layout:fixed; font-family:Arial,sans-serif; }
.uw-driver-table th,.uw-driver-table td { padding:2px 6px; height:17px; border-right:1px solid #4a31743d; border-bottom:1px solid #4a317438; background:transparent; text-align:center; font:9px/1.1 Arial,sans-serif; color:#34263d; white-space:nowrap; overflow:hidden; }
.uw-driver-table th { height:24px; font-size:8px; font-weight:700; }
.uw-driver-table th:first-child,.uw-driver-table td:first-child { width:39%; text-align:left; }
.uw-driver-table td b { display:inline-block; width:31px; font-size:11px; }
.uw-driver-table td span { font-size:8px; }
.uw-driver-table .uw-granted td { background:#45609917; font-weight:700; color:#292468; }
.uw-driver-table .uw-not-granted td { color:#5c4b628f; }
.uw-driver-note { position:absolute; bottom:12px; left:29px; font-size:8px; }
/* Distinct original wallet materials, emblems and organisation colours. */
.uw-theme-passport .uw-front,.uw-theme-passport .uw-back { background:repeating-radial-gradient(ellipse at 70% 30%,transparent 0 9px,#80353c0b 10px 11px,transparent 12px 18px),linear-gradient(125deg,#f3e5d4,#ead6cf); border-left:15px solid #682431; }
.uw-theme-passport .uw-heading { color:#682431; }.uw-passport-edge { position:absolute; left:29px; top:310px; color:#763840; font-size:8px; letter-spacing:.2em; }
.uw-theme-police .uw-heading { color:#1d2a41; border-bottom:7px solid #c33643; height:81px; }
.uw-theme-police .uw-heading strong { font-size:36px; }.uw-theme-police .uw-service-body { top:123px; }
.uw-theme-policebook .uw-front,.uw-theme-policebook .uw-back { background:linear-gradient(115deg,#d6d7b4,#b4bd9c); border-left:17px solid #475442; }
.uw-theme-weapon .uw-front,.uw-theme-weapon .uw-back { background:repeating-radial-gradient(ellipse at 30% 80%,transparent 0 9px,#17628618 10px 11px,transparent 12px 18px),linear-gradient(120deg,#c1e2eb,#e3eaeb); }
.uw-theme-weaponpass .uw-front,.uw-theme-weaponpass .uw-back { background:repeating-radial-gradient(ellipse at 30% 80%,transparent 0 9px,#18766c18 10px 11px,transparent 12px 18px),linear-gradient(120deg,#bee7dc,#c7e0ce); }
.uw-theme-disability .uw-front,.uw-theme-disability .uw-back { background:linear-gradient(130deg,#f6dcd0,#f0be96); }
.uw-theme-disability .uw-heading { color:#a84224; }
.uw-theme-incapacity .uw-heading { color:#a62a32; border-bottom:6px solid #a62a32; }
.uw-theme-transport .uw-front,.uw-theme-transport .uw-back { background:repeating-linear-gradient(120deg,transparent 0 10px,#a9851010 11px 12px),#f2e6a4; }
.uw-theme-pilot .uw-front,.uw-theme-pilot .uw-back { background:repeating-linear-gradient(150deg,transparent 0 70px,#257a9b20 71px 72px),linear-gradient(120deg,#c9e3e8,#f2e9d3); }
.uw-theme-pilot .uw-heading { color:#236078; }
.uw-theme-fire .uw-heading { color:#a72030; border-bottom:6px solid #a72030; }
.uw-theme-rescue .uw-front,.uw-theme-rescue .uw-back { background:linear-gradient(130deg,#fbf6ee,#e8eded); }
.uw-theme-rescue .uw-heading { color:#ba2335; border-bottom:5px solid #ba2335; }
.uw-red-cross { position:relative; display:block; width:45px; height:45px; flex:none; }
.uw-red-cross::before,.uw-red-cross::after { content:''; position:absolute; background:#c02c35; }.uw-red-cross::before { left:15px; width:15px; height:45px; }.uw-red-cross::after { top:15px; height:15px; width:45px; }
.uw-theme-oamtc .uw-front,.uw-theme-oamtc .uw-back { background:linear-gradient(125deg,#fae432,#e3bc2a); color:#212125; }
.uw-theme-oamtc .uw-heading { border-bottom:2px solid #252527; }.uw-theme-oamtc .uw-brand-logo { width:130px; height:50px; }
.uw-theme-delta .uw-front,.uw-theme-delta .uw-back { background:radial-gradient(ellipse at 85% 0,#9442c967,transparent 65%),linear-gradient(130deg,#252232,#14141c); color:#f2ecff; }
.uw-theme-delta-gold .uw-front,.uw-theme-delta-gold .uw-back { background:linear-gradient(130deg,#efd293,#ab8350); color:#2c2318; }
.uw-theme-delta .uw-heading { border-color:#c998fb50; }.uw-brand-logo { width:95px; height:64px; object-fit:contain; }
.uw-theme-pmp .uw-front,.uw-theme-pmp .uw-back { background:repeating-linear-gradient(120deg,#fff1 0 1px,transparent 1px 4px),linear-gradient(120deg,#c2cbd0,#f3f5f5 45%,#929da5); }
.uw-theme-pmp .uw-brand-logo { width:112px; height:65px; }.uw-theme-pmp .uw-heading strong { font-size:26px; }
.uw-service-body { position:absolute; top:119px; left:29px; right:29px; display:flex; gap:25px; }
.uw-service-body>.uw-photo { width:145px; height:185px; }.uw-service-body dl { margin:0; flex:1; display:flex; flex-direction:column; gap:15px; }
.uw-service-body .uw-field:first-child dd { font-size:23px; }
.uw-theme-health .uw-front { background:repeating-radial-gradient(ellipse at 75% 10%,transparent 0 9px,#ffffef26 10px 11px,transparent 12px 18px),linear-gradient(120deg,#b7d9ae,#6ea571); }
.uw-theme-health .uw-heading { border:0; }.uw-health-brand { color:#f9f9dd; font:bold italic 61px Arial,sans-serif; letter-spacing:-8px; margin-right:15px; }.uw-health-brand span { color:#2d783e; font-size:44px; letter-spacing:-4px; }
.uw-theme-health .uw-heading>span { display:none; }.uw-theme-health .uw-front>.uw-photo { position:absolute; right:31px; top:30px; width:123px; height:153px; }
.uw-chip { display:block; width:67px; height:51px; border:1px solid #ad955f; border-radius:10px; background:linear-gradient(90deg,transparent 30%,#735d4344 31%,transparent 32% 65%,#735d4344 66%,transparent 67%),repeating-linear-gradient(0deg,transparent 0 15px,#836d4355 16px 17px),linear-gradient(125deg,#dcd5ae,#b89e5f,#f3e4a9); }
.uw-theme-health .uw-chip { position:absolute; top:126px; left:36px; }.uw-health-fields { position:absolute; top:203px; left:35px; right:35px; display:grid; grid-template-columns:1fr 1fr; gap:14px 25px; margin:0; }
.uw-health-fields>.uw-field:first-child { grid-column:1/-1; }.uw-health-fields>.uw-field:first-child dd { font-size:24px; }.uw-health-fields .uw-field-pair { gap:18px; }
.uw-theme-health .uw-back { background:linear-gradient(#2e578d 0 78px,#c4dced 78px); }.uw-theme-health .uw-back-heading { color:#fff; margin-left:116px; font-size:10px; border:0; height:50px; }.uw-theme-health .uw-back>.uw-eu { top:15px; left:21px; width:75px; height:48px; }.uw-theme-health .uw-back>.uw-eu img { width:49px; }.uw-theme-health .uw-back>.uw-eu b { font-size:18px; }
.uw-theme-registration .uw-front,.uw-theme-registration .uw-back { background:repeating-radial-gradient(ellipse at 10% 10%,transparent 0 8px,#75864420 9px 10px,transparent 11px 15px),linear-gradient(110deg,#e9e0b5,#c5cda5); }.uw-theme-registration .uw-eu { top:25px; left:27px; width:80px; height:50px; }.uw-theme-registration .uw-eu img { width:53px; }.uw-theme-registration .uw-eu b { font-size:21px; }
.uw-registration-heading { position:absolute; left:126px; right:28px; top:27px; }.uw-registration-heading small { font:700 8px Arial,sans-serif; }.uw-registration-heading strong { display:block; font:800 20px/1.2 Arial,sans-serif; margin-top:5px; }
.uw-registration-fields { position:absolute; left:31px; right:31px; top:101px; margin:0; display:grid; grid-template-columns:1fr 1fr; gap:17px; }.uw-registration-fields .uw-plate dd { font-size:28px; letter-spacing:.02em; }.uw-registration-fields .uw-field:nth-child(3),.uw-registration-fields .uw-field:nth-child(4) { grid-column:1/-1; }
.uw-bank-art { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.uw-bank-overlay { position:absolute; inset:0; padding:31px; color:#eef3f8; background:linear-gradient(#10223212,#10223225); }.uw-bank-overlay header { display:flex; justify-content:space-between; font-size:17px; letter-spacing:.07em; }.uw-bank-overlay .uw-chip { position:absolute; top:119px; left:34px; }.uw-bank-number { position:absolute; top:209px; left:35px; font:25px monospace; text-shadow:0 1px 2px #0008; }.uw-bank-overlay footer { position:absolute; left:35px; right:35px; bottom:33px; display:flex; gap:25px; align-items:end; }.uw-bank-overlay footer>span:first-child { flex:1; min-width:0; }.uw-bank-overlay footer small { display:block; font-size:8px; margin-bottom:6px; opacity:.75; }.uw-bank-overlay footer b { display:block; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }.uw-theme-bank .uw-back { background:linear-gradient(125deg,#1c2c43,#0c1526); color:#eaf1f8; }.uw-theme-bank .uw-reverse-fields { top:116px; }.uw-theme-bank .uw-back-heading { border-color:#ffffff33; }.uw-magnetic-strip { position:absolute; top:64px; left:0; right:0; height:32px; background:#07090e; }
.uw-card-tools { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px 1px 0; }
.document-source-details { border-top:1px solid var(--line); margin-top:32px; padding-top:16px; }
.wallet-license-notice { display:flex; align-items:flex-start; gap:12px; padding:14px 0 14px 15px; border-left:2px solid #f0b571; margin-top:18px; background:linear-gradient(90deg,#edaa5810,transparent); }.wallet-license-notice>svg { width:18px; height:18px; color:#f0b571; fill:none; stroke:currentColor; stroke-width:1.6; flex:none; }.wallet-license-notice strong { font-size:12px; color:#edc18d; }.wallet-license-notice p { font-size:11px; line-height:1.6; color:var(--muted); margin:5px 0 0; }
.document-source-details>summary { cursor:pointer; color:var(--muted); font-size:12px; padding:8px 0; }
.document-source-details>summary>span { margin-left:8px; font-size:10px; color:#6d7785; }
.document-source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; margin-top:22px; }
.document-source h3 { margin:0 0 12px; color:#c5cbd4; font-size:12px; }.document-source dl { margin:0; }.document-source dl>div { display:grid; grid-template-columns:135px minmax(0,1fr); gap:18px; padding:9px 0; border-bottom:1px solid var(--line); font-size:11px; }.document-source dt { color:var(--muted); }.document-source dd { margin:0; white-space:pre-wrap; overflow-wrap:anywhere; }
.uw-flip-hint { display:flex; align-items:center; gap:7px; color:var(--muted); font-size:10px; }
.uw-flip-hint svg,.uw-expand svg,.uw-dialog-close svg { width:15px; height:15px; flex:none; }
.uw-expand { display:flex; align-items:center; gap:7px; background:transparent; color:#c5ccd7; border:0; padding:6px 0 6px 9px; border-radius:5px; font-size:11px; cursor:pointer; }
.uw-expand:hover { color:var(--accent); }.uw-empty { padding:35px 0; }.uw-empty p { color:var(--muted); font-size:13px; }
.uw-dialog { width:min(840px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); box-sizing:border-box; padding:0; overflow:auto; border:1px solid #343b45; border-radius:20px; color:var(--text); background:#161a21; box-shadow:0 32px 120px #0009; }
.uw-dialog::backdrop { background:#070b11c9; backdrop-filter:blur(10px); }.uw-dialog-head { display:flex; align-items:center; justify-content:space-between; padding:25px 31px 20px; }.uw-dialog-head h2 { margin:7px 0 0; font-size:22px; letter-spacing:-.04em; }.uw-dialog-close { display:grid; place-items:center; width:35px; height:35px; background:#ffffff07; border:1px solid var(--line); border-radius:50%; cursor:pointer; color:var(--muted); }.uw-dialog-content { padding:4px 31px 24px; }.uw-dialog-content .ucp-wallet-card { max-width:none; }.uw-detail-fields { display:grid; grid-template-columns:1fr 1fr; gap:21px; margin:25px 0; padding-top:23px; border-top:1px solid var(--line); }.uw-detail-fields .uw-field dt { font:11px/1.4 Manrope,sans-serif; color:var(--muted); }.uw-detail-fields .uw-field dd { font:500 13px/1.6 Manrope,sans-serif; color:var(--text); overflow:visible; white-space:normal; overflow-wrap:anywhere; }.uw-readonly-note { font-size:10px; color:var(--muted); line-height:1.5; }
@media(min-width:1700px) { .ucp-wallet-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:620px) { .uw-gallery-heading { gap:15px; }.uw-card-count { font-size:29px; padding-left:15px; }.uw-gallery-heading p { font-size:12px; }.ucp-wallet-grid { gap:24px; }.uw-card-meta { font-size:11px; }.uw-flip-hint { font-size:9px; }.uw-card-tools svg { width:13px; height:13px; }.uw-dialog-head { padding:18px; }.uw-dialog-content { padding:0 14px 20px; }.uw-dialog-head h2 { font-size:19px; }.uw-detail-fields { grid-template-columns:1fr; gap:15px; }.uw-dialog { width:calc(100vw - 20px); }.uw-status { font-size:9px; } }
@media(prefers-reduced-motion:reduce) { .uw-rotator { transition:none; }.uw-dialog::backdrop { backdrop-filter:none; } }
@media(max-width:800px) { .document-source-grid { grid-template-columns:1fr; }.document-source dl>div { grid-template-columns:105px minmax(0,1fr); gap:12px; } }
