:root{--ink:#221e1a;--muted:#6f675e;--paper:#efe6da;--panel:#fffdf9;--line:#e3d8cb;--accent:#c4512c;--accent-dark:#a34122;--sidebar:#221e1a;--danger:#9d2c2c;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;font-family:Outfit,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}h1,h2,h3,p{margin:0}.app{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--sidebar);color:#f4ece3;flex-direction:column;height:100vh;padding:22px 16px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;padding:0 8px 22px;display:flex}.brand-mark{width:40px;height:40px;color:var(--sidebar);background:#f4ece3;border-radius:10px;place-items:center;display:grid}.brand-mark svg{width:26px;height:26px}.brand strong{letter-spacing:-.02em;font-size:15px;display:block}.brand span{color:#cbbbaa;margin-top:2px;font-size:12px;display:block}.nav{flex-direction:column;gap:4px;display:flex}.nav button{color:#e7dcd0;text-align:left;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;padding:11px 12px;font-weight:600;display:flex}.nav button small{color:#cbbbaa;font-size:12px;font-weight:500}.nav button[aria-current=page]{color:#fff;background:#fffaf21a;box-shadow:inset 3px 0 #e07a45}.team-panel{border:1px solid #e7dcd029;border-radius:12px;margin:14px 4px 0;overflow:hidden}.team-toggle{width:100%;color:inherit;text-align:left;background:#fffaf20a;border:0;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.team-toggle strong{font-size:13px;display:block}.team-toggle small{color:#cbbbaa;margin-top:2px;font-size:12px;display:block}.team-body{border-top:1px solid #e7dcd01f;flex-direction:column;gap:12px;padding:12px;display:flex}.team-note,.team-line,.team-ok{color:#cbbbaa;margin:0;font-size:12px;line-height:1.4}.team-ok{color:#b7d7a8}.team-form,.team-invite,.team-members{flex-direction:column;gap:8px;display:flex}.team-form label,.team-invite .field-label,.team-members .field-label{color:#e7dcd0;font-size:12px}.team-form input{color:#f4ece3;background:#0000002e;border:1px solid #e7dcd033;border-radius:8px;padding:8px 10px}.team-invite code{letter-spacing:.08em;background:#00000038;border-radius:8px;padding:8px 10px;font-size:14px;display:block}.team-invite-actions{flex-wrap:wrap;gap:6px;display:flex}.team-panel .btn{color:#f4ece3;background:#fffaf20f;border-color:#e7dcd038;padding:6px 10px;font-size:12px}.team-members ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.team-members li strong{font-size:13px;display:block}.team-members li small{color:#b3a394;font-size:11px}.optional-tag{color:var(--muted);font-weight:400}.side-foot{flex-direction:column;gap:2px;margin-top:auto;padding-top:16px;display:flex}.side-foot button{color:#e7dcd0;text-align:left;background:0 0;border:0;border-radius:8px;padding:7px 8px;font-size:13px}.side-foot button:hover{background:#fffaf20f}.side-foot button.danger{color:#f0b4a4}.side-foot p{color:#b3a394;margin:10px 8px 0;font-size:12px;line-height:1.4}main{min-width:0;padding:28px 32px 56px}.view-head{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;display:flex}.view-head h1{letter-spacing:-.03em;font-family:Fraunces,Georgia,serif;font-size:40px;font-weight:560}.view-head p,.fine-print,.muted{color:var(--muted)}.view-head p{max-width:62ch;margin-top:6px;line-height:1.45}.view-actions,.toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.toolbar{margin-bottom:14px}.btn,.side-foot button,.row-actions button,.field-list button,.icon-btn{border-radius:999px}.btn{border:1px solid var(--line);background:var(--panel);padding:8px 14px;font-size:14px;font-weight:600}.btn:hover{border-color:#cfc3b4}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.search{max-width:320px}.notice{color:#6a3b16;background:#fff4e8;border-radius:10px;margin:0 0 14px;padding:10px 12px}.table-wrap{border:1px solid var(--line);background:var(--panel);border-radius:16px;overflow:auto}.people-table{border-collapse:collapse;width:100%;font-size:14px}.people-table th,.people-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 14px}.people-table th{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:650}.people-table tr:last-child td{border-bottom:0}.people-table tr.selected{background:#faf3ea}.check{width:42px}.people-table input[type=checkbox]{accent-color:var(--accent);width:16px;height:16px}.person-cell{align-items:center;gap:10px;display:flex}.person-cell img,.person-cell span{object-fit:cover;color:#fff;background:#143d4f;border-radius:50%;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.row-actions{text-align:right}.row-actions button,.field-list button,.icon-btn{color:var(--ink);background:0 0;border:0;padding:4px 6px;font-weight:600}.row-actions button.danger,.field-list button.danger,.danger{color:var(--danger)}.empty,.empty-row{text-align:center}.empty{background:#fffdf9b3;border:1px dashed #d9cec0;border-radius:16px;padding:48px 20px}.empty h2{margin-bottom:8px;font-family:Fraunces,Georgia,serif;font-weight:560}.empty p{color:var(--muted);margin-bottom:16px}.fine-print{margin-top:14px;font-size:13px;line-height:1.45}.paper-callout{background:var(--sidebar);color:#fffaf3;border-radius:12px;margin:12px 0 0;padding:12px 14px;font-size:14.5px;line-height:1.45}.view-head p.paper-callout{color:#fffaf3}.file-input{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}dialog.modal{background:var(--panel);width:min(640px,100vw - 28px);color:var(--ink);border:0;border-radius:18px;padding:0;box-shadow:0 24px 70px #221e1a47}dialog.modal::backdrop{background:#221e1a7a}.modal-head,.modal-foot{justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;display:flex}.modal-head{border-bottom:1px solid var(--line)}.modal-foot{border-top:1px solid var(--line);justify-content:flex-end}.modal-head h2{font-family:Fraunces,Georgia,serif;font-size:26px;font-weight:560}.icon-btn{font-size:28px;line-height:1}.modal-body{max-height:min(70vh,720px);padding:18px;overflow:auto}dialog.modal.wide{width:min(980px,100vw - 28px)}.modal-head p.muted{margin-top:2px;font-size:13px}.import-options{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin-bottom:14px;display:grid}.import-summary{margin-bottom:10px;font-size:14px}.import-table td{white-space:normal;vertical-align:middle;padding:8px 12px}.import-table td:first-child{min-width:170px;max-width:280px}.import-table td:first-child small{max-width:260px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;display:block;overflow:hidden}.import-table select{min-width:170px}.import-table input:not([type=checkbox]){min-width:150px}.import-table tr.left-out td:first-child{opacity:.55}.photo-drop{border:1px dashed #d9cec0;border-radius:14px;grid-template-columns:92px 1fr;align-items:center;gap:14px;margin-bottom:16px;padding:12px;display:grid}.photo-drop img,.photo-drop>span{object-fit:cover;color:#fff;background:#143d4f;border-radius:10px;place-items:center;width:92px;height:112px;font-family:Fraunces,Georgia,serif;font-size:32px;display:grid}.photo-drop p{color:var(--muted);margin:4px 0 8px;font-size:13px;font-weight:400}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.span-2{grid-column:1/-1}.form-error{color:var(--danger);margin-top:8px;font-size:13px}label{flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}input,select,textarea{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;padding:8px 10px}textarea{resize:vertical}fieldset{border:1px solid var(--line);background:var(--panel);border-radius:16px;margin:0 0 14px;padding:14px}legend{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:0 6px;font-size:12px}fieldset label+label,.upload-row,.color-grid,.field-label{margin-top:12px}.field-label{margin-bottom:6px;font-size:13px;font-weight:600}.upload-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.upload-row p{color:var(--muted);margin-top:2px;font-size:12px;font-weight:400}.upload-row>div{flex:1;min-width:160px}.upload-preview{object-fit:contain;background:#f6f1ea;border-radius:8px;width:42px;height:42px}.upload-preview.sign{width:72px}.look-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.look{text-align:left;border:0;border-radius:10px;align-items:center;gap:8px;padding:10px;font-weight:650;display:flex}.look i{border-radius:99px;width:12px;height:12px;display:block}.color-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.color-pair{align-items:center;gap:8px;display:flex}.color-pair input[type=color]{flex:none;width:42px;height:36px;padding:3px}.segment{background:#f3ece3;border-radius:10px;gap:3px;padding:3px;display:flex}.segment button{background:0 0;border:0;border-radius:8px;flex:1;padding:8px;font-size:13px;font-weight:600}.segment button[aria-pressed=true]{background:#fff;box-shadow:0 1px 2px #221e1a1f}.segment button:disabled{opacity:.4;cursor:not-allowed}.check-line{flex-direction:row;align-items:center;gap:8px;margin-top:10px;font-weight:500}.check-line input{width:auto;accent-color:var(--accent)}.size-fields{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.size-fields label{margin-top:0}.size-swap{margin-top:10px}.field-list{flex-direction:column;gap:6px;margin:10px 0;padding:0;list-style:none;display:flex}.field-list li{grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:6px;display:grid}.field-list li button:disabled{opacity:.3}.add-field{gap:8px;display:flex}.add-field .btn{flex:none}.design-layout,.print-layout{grid-template-columns:minmax(300px,420px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.design-stage{position:sticky;top:18px}.stage-tools{justify-content:space-between;align-items:end;gap:12px;margin-bottom:12px;display:flex}.stage-tools label{min-width:180px}.stage-surface{background:linear-gradient(#ffffff8c,#fff0),#e7dfd2;border:1px solid #e0d6c8;border-radius:18px;padding:28px 22px 24px;overflow:auto}.card-resize{width:fit-content;position:relative}.resize-handle{z-index:4;cursor:nwse-resize;touch-action:none;background:#1a2428;border:2px solid #fffaf3;border-radius:7px;width:22px;height:22px;padding:0;position:absolute;bottom:-11px;right:-11px;box-shadow:0 2px 8px #1a242859}.resize-handle:before{content:"";border-bottom:2px solid #fffaf3;border-right:2px solid #fffaf3;width:8px;height:8px;position:absolute;bottom:4px;right:4px}.resize-handle:focus-visible{outline-offset:2px;outline:2px solid #d28a2e}.item-grip{z-index:5;touch-action:none;background:0 0;border:0;width:16px;height:16px;padding:0;position:absolute;translate:-50% -50%}.item-grip:before{content:"";background:#1a2428;border:1.5px solid #fffaf3;border-radius:3px;position:absolute;inset:2px;box-shadow:0 1px 4px #1a242859}.item-grip.nw,.item-grip.se{cursor:nwse-resize}.item-grip.ne,.item-grip.sw{cursor:nesw-resize}.item-grip:focus-visible{outline:2px solid #d28a2e}.sample-row{flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px;display:flex}.sample-row img{object-fit:cover;border:1px solid var(--line);background:#fff;border-radius:8px;width:108px;height:68px}.stage-scale{zoom:1.42;filter:drop-shadow(0 16px 24px #221e1a29);width:fit-content;margin:0 auto}.stage-scale.portrait{zoom:1.12}.stage-caption{text-align:center;color:var(--muted);margin-top:14px;font-size:13px}.stage-reset{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px;display:flex}.qr-check{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:flex-start;gap:12px;margin-top:10px;padding:10px;display:flex}.qr-check img{flex:none;width:180px;height:180px}.qr-check p{color:var(--muted);margin:0 0 6px;font-size:13px}.qr-check pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12.5px;line-height:1.45}.print-settings{min-width:0}.pick-list{max-height:280px;margin:12px 0 0;padding:0;list-style:none;overflow:auto}.pick-list label{flex-direction:row;align-items:center;gap:8px;padding:6px 0;font-weight:500}.pick-list input{width:auto;accent-color:var(--accent)}.pick-list span{flex-direction:column;display:flex}.pick-list small{color:var(--muted);font-weight:500}.print-help{color:var(--muted);font-size:14px;line-height:1.45}.print-actions{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.print-status{text-align:right;max-width:36ch;margin:0;font-size:13px;line-height:1.4}.print-status.bad{color:var(--danger)}.print-help summary{cursor:pointer;color:var(--ink);font-weight:650}.print-help ol{padding-left:18px}.preview-column{min-width:0}.preview-stack{flex-direction:column;gap:22px;display:flex}.page-label{color:var(--muted);margin:0 0 8px;font-size:13px}.preview-zoom{width:fit-content}.preview-zoom.sheet{zoom:.48}.preview-zoom.card{zoom:1.15}.preview-stack .paper-page{box-shadow:0 12px 30px #221e1a24}.paper-page{background:#fff}.paper-page.a4{box-sizing:border-box;width:210mm;height:297mm;padding:8mm}.paper-page.card-size{width:var(--card-w);height:var(--card-h);overflow:hidden}.sheet-grid{grid-template-columns:repeat(var(--cols), var(--slot-w));grid-auto-rows:var(--slot-h);place-content:start center;gap:4mm;display:grid}.slot{width:var(--slot-w);height:var(--slot-h);place-items:center;display:grid;position:relative}.crop{border:0 solid #222;width:1.8mm;height:1.8mm;position:absolute}.crop.tl{border-top-width:.25mm;border-left-width:.25mm;top:0;left:0}.crop.tr{border-top-width:.25mm;border-right-width:.25mm;top:0;right:0}.crop.bl{border-bottom-width:.25mm;border-left-width:.25mm;bottom:0;left:0}.crop.br{border-bottom-width:.25mm;border-right-width:.25mm;bottom:0;right:0}.idcard{width:var(--card-w,85.6mm);height:var(--card-h,53.98mm);background:repeating-linear-gradient(-32deg, transparent, transparent 2.4mm, color-mix(in srgb, var(--primary) 9%, transparent) 2.4mm, color-mix(in srgb, var(--primary) 9%, transparent) 2.55mm), var(--paper);color:var(--ink);-webkit-print-color-adjust:exact;print-color-adjust:exact;flex-direction:column;font-family:"Source Sans 3",Segoe UI,sans-serif;display:flex;position:relative;overflow:hidden}.idcard.hairline{box-shadow:inset 0 0 0 .22mm color-mix(in srgb, var(--ink) 70%, transparent)}.idcard-header{z-index:1;background:radial-gradient(circle at 100% 0%, #ffffff3d, transparent 46%), var(--primary);color:var(--on-primary);align-items:center;gap:2.2mm;padding:2.1mm 3.2mm 1.8mm;display:flex;position:relative}.org-block{min-width:0}.org-name{letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;font-size:3.35mm;font-weight:700;line-height:1.05;overflow:hidden}.org-sub{opacity:.84;white-space:nowrap;text-overflow:ellipsis;margin-top:.3mm;font-size:2.3mm;line-height:1.1;overflow:hidden}.logo,.monogram{flex:none;width:8mm;height:8mm}.logo{object-fit:contain}.monogram{background:var(--accent);color:var(--on-accent);border-radius:1.5mm;place-items:center;font-size:3mm;font-weight:700;display:grid}.accent-bar{z-index:1;background:var(--accent);flex:none;height:1.15mm;position:relative}.idcard-body{z-index:1;flex:1;gap:3mm;min-height:0;padding:2.3mm 3.2mm 1mm;display:flex;position:relative;overflow:hidden}.photo,.photo-fallback{object-fit:cover;background:color-mix(in srgb, var(--primary) 18%, white);border-radius:1.2mm;width:18mm;height:22mm;display:block}.photo-fallback{color:var(--primary);place-items:center;font-family:Fraunces,Georgia,serif;font-size:7mm;display:grid}.identity{flex:1;min-width:0}.person-name{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;width:fit-content;max-width:100%;font-family:Fraunces,Georgia,serif;font-size:4.8mm;font-weight:560;line-height:1.02;overflow:hidden}.role{width:fit-content;max-width:100%;color:var(--primary);white-space:nowrap;text-overflow:ellipsis;margin:.35mm 0 1.15mm;font-size:2.65mm;font-weight:700;overflow:hidden}.role.muted{opacity:.4;font-weight:600}.meta{grid-template-columns:1fr 1fr;gap:.85mm 2.4mm;margin:0;display:grid}.meta div{justify-self:start;min-width:0;max-width:100%}.meta dt{letter-spacing:.05em;text-transform:uppercase;opacity:.58;font-size:1.85mm;line-height:1.1}.meta dd{white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:2.65mm;font-weight:700;line-height:1.15;overflow:hidden}.idcard-footer{z-index:2;flex:none;align-items:end;gap:1.6mm;padding:0 3mm 1.8mm;display:grid;position:relative}.idcard-footer.sign-qr{grid-template-columns:minmax(0,1fr) 13.5mm}.idcard-footer.sign-only,.idcard-footer.qr-only,.idcard-footer.text-only{grid-template-columns:minmax(0,1fr)}.sign{flex-direction:column;justify-content:flex-end;justify-self:start;min-width:0;max-width:100%;display:flex}.sign img{object-fit:contain;object-position:left bottom;max-width:20mm;height:5.5mm}.sign-line{border-top:.25mm solid color-mix(in srgb, var(--ink) 55%, transparent);width:16mm;margin-bottom:.5mm}.sign span,.footer-text{font-size:2mm;line-height:1.2}.sign span{letter-spacing:.04em;text-transform:uppercase;opacity:.72;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.footer-text{opacity:.8;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .3mm;display:-webkit-box;overflow:hidden}.qr{background:#fff;justify-self:end;width:13mm;height:13mm}.layout-banner:not(.portrait){padding-left:6.2mm}.layout-banner:not(.portrait):before,.layout-banner:not(.portrait):after{content:"";z-index:2;position:absolute;top:0;bottom:0}.layout-banner:not(.portrait):before{background:var(--accent);width:1.5mm;left:0}.layout-banner:not(.portrait):after{background:var(--primary);z-index:1;width:4.7mm;left:1.5mm}.layout-banner:not(.portrait) .idcard-header{color:var(--ink);background:0 0;padding-bottom:.4mm}.layout-banner:not(.portrait) .accent-bar{display:none}.layout-banner:not(.portrait) .org-name{color:var(--primary)}.layout-split:not(.portrait) .idcard-header,.layout-split:not(.portrait) .accent-bar{display:none}.layout-split:not(.portrait) .idcard-body{grid-template-columns:31mm 1fr;gap:0;padding:0;display:grid}.layout-split:not(.portrait) .photo-wrap{background:radial-gradient(circle at 50% 0%, #ffffff2e, transparent 55%), var(--primary);color:var(--on-primary);flex-direction:column;justify-content:center;align-items:center;gap:1.6mm;padding:2mm;display:flex}.layout-split:not(.portrait) .photo,.layout-split:not(.portrait) .photo-fallback{width:20mm;height:24mm}.layout-split:not(.portrait) .identity{padding:2.6mm 3mm 1mm}.layout-split.photo-right:not(.portrait) .photo-wrap{order:2}.layout-split.photo-right:not(.portrait) .identity{order:1}.split-brand{display:none}.layout-split:not(.portrait) .split-brand{text-align:center;letter-spacing:.06em;text-transform:uppercase;flex-direction:column;align-items:center;gap:.8mm;font-size:2.05mm;font-weight:700;line-height:1.15;display:flex}.photo-right:not(.layout-split) .idcard-body{flex-direction:row-reverse}.no-photo:not(.layout-split) .photo-wrap{display:none}.idcard.portrait .idcard-header{display:flex}.idcard.portrait .accent-bar{display:block}.idcard.portrait.layout-banner{padding-left:0}.idcard.portrait.layout-banner:before,.idcard.portrait.layout-banner:after{display:none}.idcard.portrait .idcard-body{text-align:center;flex-direction:column;align-items:stretch;gap:1.6mm;padding:2.2mm 3mm 1.2mm;display:flex}.idcard.portrait .photo-wrap{justify-content:center;display:flex}.idcard.portrait .photo,.idcard.portrait .photo-fallback{width:20mm;height:24mm}.idcard.portrait .identity{width:100%;min-width:0}.idcard.portrait .person-name{white-space:normal;margin-inline:auto;font-size:4.3mm}.idcard.portrait .role{margin:.15mm auto .8mm}.idcard.portrait .meta{text-align:left;grid-template-columns:1fr 1fr;gap:.7mm 2.4mm;width:100%}.idcard.portrait .meta dt,.idcard.portrait .meta dd{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.idcard.portrait .split-brand{display:none}.idcard.portrait .idcard-footer{grid-template-columns:minmax(0,1fr);align-items:end;gap:.35mm 2mm;padding:0 3mm 2mm}.idcard.portrait .idcard-footer:has(.qr){grid-template-columns:minmax(0,1fr) 15mm}.idcard.portrait .sign,.idcard.portrait .footer-text{grid-column:1}.idcard.portrait .footer-text{margin:0}.idcard.portrait .qr{grid-area:1/2;align-self:end;width:15mm;height:15mm}.back-body{z-index:1;flex:1;min-height:0;padding:2.6mm 3.3mm 1mm;position:relative}.back-body h3{width:fit-content;max-width:100%;margin-bottom:1.3mm;font-family:Fraunces,Georgia,serif;font-size:3.7mm;font-weight:560;line-height:1.15}.back-body p{font-size:2.55mm;line-height:1.35}.emergency{background:color-mix(in srgb, var(--primary) 10%, var(--paper));border-radius:1.2mm;justify-content:space-between;gap:2mm;margin-top:2.2mm;padding:1.5mm 1.8mm;font-size:2.5mm;display:flex}.back-foot .footer-text{opacity:1;justify-self:start;max-width:100%;font-weight:700}.idcard.moved .idcard-body{overflow:visible}.idcard *{transform-origin:0 0}.idcard.portrait .person-name,.idcard.portrait .role{transform-origin:top}.idcard.editable,.idcard.editable *{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.idcard.editable [data-move],.idcard.editable [data-move] *{pointer-events:auto}.idcard.editable [data-move]{cursor:grab;touch-action:none}.idcard.editable [data-move]:hover,.idcard.editable [data-move][data-active]{outline:.2mm dashed color-mix(in srgb, var(--accent) 90%, transparent);outline-offset:.3mm}.idcard.editable [data-move]:focus,.idcard.editable [data-move][data-active]{outline:.3mm solid var(--accent);outline-offset:.3mm}.card-resize.moving .idcard.editable [data-move]{cursor:grabbing}.idcard.back.layout-banner{padding-left:0}.idcard.back.layout-banner:before,.idcard.back.layout-banner:after{display:none}.idcard.back .idcard-header{background:radial-gradient(circle at 100% 0%, #ffffff3d, transparent 46%), var(--primary);color:var(--on-primary);display:flex}.idcard.back .org-name{color:inherit}.idcard.back .accent-bar{display:block}.idcard.cal{color:#1a1a1a;background:#fff;justify-content:center;padding:4mm 3mm}.idcard.cal.portrait{padding:5mm 1.8mm}.cal-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:2.4mm;font-weight:700}.idcard.cal h2{margin-top:1mm;font-family:Fraunces,Georgia,serif;font-size:4.4mm;font-weight:560;line-height:1.1}.ruler{width:var(--ruler,50mm);margin:3.2mm auto}.ruler span{border-top:.45mm solid #1a1a1a;display:block;position:relative}.ruler span:before,.ruler span:after{content:"";border-left:.45mm solid #1a1a1a;height:3mm;position:absolute;top:-1.5mm}.ruler span:after{right:0}.cal-copy{font-size:2.5mm;line-height:1.35}.cal-sheet{align-content:start;justify-items:center;gap:8mm;display:grid}.cal-sheet-note{text-align:center;font-family:"Source Sans 3",Segoe UI,sans-serif;font-size:14px}.idcard.cal{box-shadow:inset 0 0 0 .25mm #222}.splash{place-items:center;min-height:100vh;font-family:Fraunces,Georgia,serif;font-size:28px;display:grid}.auth-screen{background:radial-gradient(80% 60% at 10% 0,#c4512c24,#0000 55%),radial-gradient(70% 50% at 90% 100%,#221e1a14,#0000 50%),linear-gradient(165deg,#f6efe6 0%,#efe6da 45%,#e8ddd0 100%);place-items:center;min-height:100vh;padding:28px 16px;display:grid}.auth-panel{border:1px solid var(--line);background:var(--panel);border-radius:18px;width:min(420px,100%);padding:28px 26px 24px;box-shadow:0 18px 40px #221e1a1a}.auth-brand{align-items:center;gap:12px;margin-bottom:22px;display:flex}.auth-brand strong{font-family:Fraunces,Georgia,serif;font-size:22px;font-weight:560;display:block}.auth-brand span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.auth-tabs{margin-bottom:18px}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form .btn-primary{width:100%;margin-top:6px}.print-root{display:none}@media (width<=980px){.app{grid-template-columns:1fr}.sidebar{height:auto;position:relative}.side-foot{margin-top:12px}.design-layout,.print-layout,.form-grid{grid-template-columns:1fr}.view-head{flex-direction:column;align-items:stretch}.stage-scale,.stage-scale.portrait{zoom:1}}@media print{.no-print{display:none!important}.print-root{display:block!important}html,body{background:#fff!important;height:auto!important;margin:0!important;padding:0!important}.paper-page{break-after:page;page-break-after:always;box-shadow:none!important;margin:0!important}.paper-page.a4{width:auto!important;height:auto!important;min-height:0!important;padding:0!important;overflow:visible!important}.paper-page.card-size{width:var(--card-w)!important;height:var(--card-h)!important;padding:0!important;overflow:hidden!important}.print-root .paper-page:last-child{break-after:auto;page-break-after:auto}.print-root,.print-root *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}
