.operation-bar,.operation-bar>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.operation-bar{justify-content:space-between;margin:24px 0}.flow-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:22px 0}.flow-project{padding:12px 16px;background:#edf3f7;border-radius:9px;font-size:14px;overflow-wrap:anywhere}dialog.wide{max-width:1040px}.file-control{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border:1px solid #c3d1db;border-radius:10px;padding:10px 17px;position:relative;overflow:hidden;cursor:pointer}.file-control input{position:absolute;inset:0;opacity:0;cursor:pointer}.file-control:focus-within{outline:3px solid #328bc2;outline-offset:3px}.import-preview{max-height:48vh;overflow:auto;margin:20px 0;border-block:1px solid var(--line)}.import-entry{display:grid;grid-template-columns:minmax(0,1fr) 160px;align-items:start;gap:24px;padding:20px 8px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.import-entry h3{font-size:16px;margin:12px 0 6px}.import-entry p,.changes{font-size:13px;margin-bottom:8px}.import-entry small{color:var(--muted);font-weight:400}.changes{padding-left:20px}.flow-success{background:#e7f5ef;color:#0b654e;padding:22px;border-radius:12px;margin:20px 0}.flow-success strong{font-size:21px}.flow-success p{margin:10px 0 0}.qr-table-scroll{overflow:auto;max-height:48vh;border:1px solid var(--line);border-radius:10px}.qr-table{border-collapse:collapse;width:100%;font-size:14px}.qr-table th,.qr-table td{text-align:left;padding:14px;border-bottom:1px solid var(--line)}.qr-table th{background:#edf3f7;position:sticky;top:0;z-index:1}.qr-table small{display:block;color:var(--muted)}.qr-table td{min-width:125px}.qr-table td:first-child{min-width:60px;width:60px}.qr-table td:nth-child(2){min-width:180px}.qr-table input{width:24px;min-height:24px;accent-color:var(--teal)}.qr-table button{padding:8px 10px;white-space:nowrap;font-size:13px}.confirm-list{max-height:45vh;overflow:auto;padding:14px;background:#f4f7fa;border-radius:10px}.confirm-list p{font-size:14px;border-bottom:1px solid var(--line);padding-bottom:8px}.qr-code{width:230px;max-width:100%;margin:16px auto}.qr-code svg{display:block;width:100%;height:auto}#print-cards-area{display:grid;grid-template-columns:1fr 1fr;gap:16px}.print-card{border:1px dashed #9eafb9;border-radius:10px;padding:22px;text-align:center;break-inside:avoid;overflow-wrap:anywhere}.print-card span{font-size:12px;color:var(--muted)}.print-card h3{font-size:18px;margin:14px 0 6px}.print-card p{font-size:13px;margin:8px 0}#scan-video{width:100%;max-height:350px;border-radius:12px;background:#0e2737;margin:10px 0 20px}#scan-result{margin:20px 0}#scan-result:empty{margin:0}@media(max-width:700px){.import-entry{grid-template-columns:1fr;gap:10px}.import-entry label{max-width:220px}.flow-actions>button,.flow-actions>.file-control{flex:1;min-width:170px}#print-cards-area{grid-template-columns:1fr}.operation-bar>div{width:100%}.operation-bar button{flex:1}.qr-table td{padding:12px}.flow-project{font-size:13px}}@media print{@page{size:A4;margin:10mm}body.printing-cards>*:not(#dialog){display:none!important}body.printing-cards #dialog{display:block!important;position:static;border:0;max-width:none;width:100%;max-height:none;overflow:visible;padding:0;margin:0}body.printing-cards #dialog::backdrop,body.printing-cards .dialog-head,body.printing-cards .no-print,body.printing-cards #dialog-error{display:none!important}body.printing-cards #print-cards-area{display:block}body.printing-cards .print-card{display:inline-block;vertical-align:top;width:48%;min-height:125mm;margin:0 1% 5mm;border:1px dashed #777;border-radius:0;padding:6mm}body.printing-cards .qr-code{width:45mm;margin:4mm auto}body.printing-cards .print-card h3{font-size:11pt}body.printing-cards .print-card p{font-size:9pt}}
.invitation-list{margin-top:22px;max-height:55vh;overflow:auto}.invitation-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:18px 4px}.invitation-row strong,.invitation-row small{display:block}.invitation-row small{color:var(--muted);margin-top:4px}.invitation-row .flow-actions{margin:0}.invitation-row>div:first-child{min-width:0;overflow-wrap:anywhere}#invitation-body{line-height:1.8}#dialog-body>label{margin-top:16px}@media(max-width:700px){.invitation-row{align-items:flex-start;flex-direction:column}.invitation-row .flow-actions{width:100%}}
.device-only{display:none}html[data-device-trial] .device-only{display:block}html[data-device-trial] #local-login-help,html[data-device-trial] .login>.text-link{display:none}.device-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}.device-cards h3{margin-top:0}.device-cards p{font-size:14px}.device-cards input{font-family:monospace;font-size:15px}.device-cards label{margin-top:12px}@media(max-width:700px){.device-cards{grid-template-columns:1fr}}
.batch-choice{flex-direction:row;justify-content:flex-start;cursor:pointer}.batch-choice input{width:22px;min-height:22px;flex:0 0 22px}.batch-choice span{flex:1}.batch-choice small{display:block}.batch-choice:has(input:disabled){opacity:.65}
.mail-trial{background:#fff2d9;border:1px solid #dec58c;border-radius:12px;padding:14px;color:#664709}.mail-counts{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.mail-state{border-radius:7px;background:#edf3f7;padding:4px 9px;font-size:13px}.mail-state.sent{background:#e4f5ec;color:#175c3b}.mail-state.failed,.mail-state.unknown{background:#fff0dd;color:#86500a}.mail-choice{display:flex;flex-direction:row;align-items:center;gap:12px;flex:1;min-width:0}.mail-choice input{width:22px;min-height:22px;flex:0 0 22px}.mail-choice span{overflow-wrap:anywhere}.mail-history{border:1px solid var(--line);border-radius:12px;padding:20px;margin:18px 0}.mail-history pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit}.mail-history li{margin:12px 0}#mail-preview label{margin:14px 0}

.hosted-only{display:none}html[data-hosted-staging] .hosted-only{display:block}html[data-hosted-staging] #local-login-help,html[data-hosted-staging] .login>.text-link{display:none}
