*{box-sizing:border-box;margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;background:#f7f8fa;color:#111827;font-size:14px}a{color:inherit}.login-body{min-height:100vh;display:flex;justify-content:center;align-items:center;background:#f6f7f9}.login-container{width:100%;max-width:410px;padding:30px 20px}.login-brand{text-align:center;margin-bottom:28px}.brand-logo,.sidebar-logo{background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700}.brand-logo{width:52px;height:52px;margin:0 auto 12px;border-radius:12px;font-size:24px}.login-brand h1{font-size:24px;margin-bottom:5px}.login-brand p,.login-subtitle{color:#8a94a3}.login-card{background:#fff;padding:30px;border:1px solid #e6e9ee;border-radius:12px;box-shadow:0 5px 20px rgba(0,0,0,.04)}.login-card h2{font-size:20px;margin-bottom:6px}.login-subtitle{margin-bottom:25px}.login-footer{text-align:center;color:#a0a7b2;font-size:12px;margin-top:20px}.app-layout{min-height:100vh}.sidebar{width:245px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid #e7e9ed;display:flex;flex-direction:column}.sidebar-brand{height:72px;display:flex;align-items:center;padding:0 22px;gap:11px;font-size:17px;font-weight:700;border-bottom:1px solid #eef0f2}.sidebar-logo{width:34px;height:34px;border-radius:8px}.sidebar-nav{padding:18px 12px;flex:1;overflow-y:auto}.nav-section{padding:20px 11px 8px;font-size:10px;font-weight:700;color:#a0a7b2;letter-spacing:.8px}.nav-item{height:42px;display:flex;align-items:center;gap:11px;padding:0 12px;margin-bottom:3px;border-radius:7px;color:#5d6674;text-decoration:none}.nav-item:hover,.nav-item.active{background:#f0f2f5;color:#111827}.nav-item.active{font-weight:600}.nav-icon{width:20px;text-align:center}.sidebar-user{min-height:70px;border-top:1px solid #eef0f2;display:flex;align-items:center;padding:12px 16px;gap:10px}.user-avatar,.mini-avatar,.detail-avatar{background:#111827;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:50%}.user-avatar{width:36px;height:36px}.user-info{min-width:0;flex:1}.user-info strong{display:block;font-size:12px}.user-info span{display:block;color:#939aa5;font-size:11px;margin-top:3px}.logout-button{color:#8c949f;text-decoration:none;font-size:18px}.main-content{margin-left:245px;min-height:100vh}.topbar{height:72px;background:#fff;border-bottom:1px solid #e7e9ed;display:flex;align-items:center;justify-content:space-between;padding:0 30px}.topbar h1{font-size:20px;font-weight:600}.topbar-user{font-size:13px;color:#6c7480}.page-content{padding:28px 30px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:22px}.stat-card,.content-card{background:#fff;border:1px solid #e5e8ec;border-radius:9px}.stat-card{padding:20px}.stat-label{color:#747d8a;font-size:12px;margin-bottom:12px}.stat-value{font-size:28px;font-weight:600;margin-bottom:7px}.stat-description{font-size:11px;color:#a0a7b2}.content-card-header{padding:20px 22px;border-bottom:1px solid #edf0f2;display:flex;align-items:center;justify-content:space-between;gap:15px}.content-card-header h2{font-size:15px;margin-bottom:5px}.content-card-header p,.page-heading p{font-size:12px;color:#9098a4}.empty-state{padding:65px 20px;text-align:center}.empty-icon{width:42px;height:42px;background:#f3f4f6;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 13px;color:#808895}.empty-state h3{font-size:14px;margin-bottom:6px}.empty-state p{color:#929aa5;font-size:12px;margin-bottom:18px}.form-group{margin-bottom:18px}.form-group label{display:block;margin-bottom:7px;font-size:13px;font-weight:600}.form-group label b{color:#b42318}.form-group input,.form-group select,.form-group textarea,.search-input,.filter-bar select{width:100%;padding:10px 12px;border:1px solid #dce1e7;border-radius:7px;outline:none;font:inherit;background:#fff}.form-group input:focus,.form-group textarea:focus,.search-input:focus{border-color:#111827}.btn-primary,.btn-secondary,.btn-danger,.upload-button{min-height:40px;border-radius:7px;padding:0 15px;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:13px;cursor:pointer}.btn-primary{border:0;background:#111827;color:#fff}.btn-primary:hover{background:#252f3f}.btn-secondary{border:1px solid #dce1e7;background:#fff;color:#343b46}.btn-danger{border:1px solid #f0b4b0;background:#fff;color:#b42318}.btn-auto{width:auto}.btn-block{width:100%}.btn-text{color:#697386;text-decoration:none}.alert{padding:11px 12px;border-radius:6px;margin-bottom:18px;font-size:13px}.alert-danger{background:#fff1f1;color:#b42318;border:1px solid #ffd4d2}.alert-success{background:#eefbf3;color:#176b3a;border:1px solid #cdeed9}.page-alert{margin-bottom:20px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:20px;gap:20px}.page-heading h2{font-size:18px;margin-bottom:5px}.filter-bar{padding:16px 18px;display:flex;gap:10px;border-bottom:1px solid #edf0f2}.filter-bar .search-input{max-width:330px}.filter-bar select{width:150px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:14px 18px;border-bottom:1px solid #eef0f2;vertical-align:middle}th{font-size:11px;text-transform:uppercase;letter-spacing:.4px;color:#8b94a1;font-weight:700;background:#fbfbfc}td{color:#4d5664;font-size:13px}.name-link{font-weight:600;color:#111827;text-decoration:none}.person-cell{display:flex;align-items:center;gap:10px}.person-cell img,.mini-avatar{width:36px;height:36px;object-fit:cover}.person-cell small{display:block;color:#9aa1ab;margin-top:3px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:600}.status-active{background:#ecf8f0;color:#267146}.status-inactive{background:#f2f3f5;color:#69717d}.actions{white-space:nowrap}.actions a{margin-right:12px;text-decoration:none;color:#5e6774}.pagination-row{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;color:#8b94a1;font-size:12px}.pagination-row a,.page-current{display:inline-flex;min-width:30px;height:30px;align-items:center;justify-content:center;border:1px solid #e1e5ea;border-radius:6px;text-decoration:none;margin-left:4px}.page-current{background:#f2f4f6;color:#111827}.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:20px}.form-section{margin-bottom:20px}.form-body{padding:22px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.form-group.full{grid-column:1/-1}.field-help{font-size:11px;color:#9aa1ab;margin-top:7px}.photo-field{display:flex;align-items:center;gap:18px;margin-bottom:22px}.photo-preview{width:78px;height:78px;border-radius:50%;background:#f0f2f5;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:24px;font-weight:700;color:#78818d}.photo-preview img{width:100%;height:100%;object-fit:cover}.upload-button{border:1px solid #dce1e7;background:#fff}.upload-button input{display:none}.check-row{display:flex;align-items:center;gap:8px;margin-bottom:18px;color:#4d5664}.check-row input{width:16px;height:16px}.sticky-card{position:sticky;top:92px}.form-actions{display:grid;gap:9px;margin-top:24px}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:24px}.detail-body{padding:22px}.detail-profile{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:1px solid #eef0f2}.detail-profile img,.detail-avatar{width:64px;height:64px;object-fit:cover}.detail-profile h3{font-size:17px;margin-bottom:5px}.detail-profile p{color:#808895}.detail-list{padding-top:8px}.detail-list>div{display:grid;grid-template-columns:130px 1fr;padding:11px 0;border-bottom:1px solid #f1f2f4}.detail-list span{color:#8b94a1}.detail-list strong{font-weight:500;overflow-wrap:anywhere}.heading-actions{display:flex;gap:8px}.heading-actions form{display:inline}.back-link{display:inline-block;text-decoration:none;color:#7d8692;font-size:12px;margin-bottom:9px}.danger-zone{margin-top:20px;border:1px solid #f0d2d0;background:#fff;padding:18px;border-radius:9px;display:flex;align-items:center;justify-content:space-between;gap:20px}.danger-zone strong{font-size:13px}.danger-zone p{font-size:11px;color:#8d949e;margin-top:5px}.preview-panel{background:#eef0f3;border-radius:12px;padding:18px}.preview-title{display:flex;justify-content:space-between;color:#626b78;font-size:12px;margin-bottom:15px}.phone-shell{max-width:300px;margin:auto;background:#171b22;border-radius:34px;padding:9px;box-shadow:0 15px 35px rgba(0,0,0,.12)}.phone-screen{min-height:565px;background:#fff;border-radius:27px;overflow:hidden;text-align:center;padding-bottom:25px}.preview-top{height:95px;background:#111827}.preview-photo{width:92px;height:92px;border-radius:50%;object-fit:cover;border:5px solid #fff;margin-top:-46px;background:#eef0f3}.preview-initial{display:flex;align-items:center;justify-content:center;margin-left:auto;margin-right:auto;font-size:30px;font-weight:700;color:#596270}.phone-screen h3{margin-top:12px;font-size:19px}.preview-role{margin-top:5px;color:#5e6774}.preview-company{font-size:12px;color:#939aa5;margin-top:5px}.preview-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:24px 18px 15px}.preview-actions span{background:#f4f5f7;border-radius:8px;padding:11px 4px;font-size:10px}.phone-screen button{width:calc(100% - 36px);height:40px;border:0;border-radius:8px;background:#111827;color:#fff}.preview-details{margin:20px 22px 0;padding-top:15px;border-top:1px solid #eceef1;font-size:11px;color:#6e7783;line-height:1.8;overflow-wrap:anywhere}.preview-note{text-align:center;color:#8b94a1;font-size:11px;margin-top:14px}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.detail-grid{grid-template-columns:1fr}.preview-panel{max-width:430px}.form-layout{grid-template-columns:1fr}.sticky-card{position:static}}@media(max-width:700px){.sidebar{width:70px}.sidebar-brand{justify-content:center;padding:0}.sidebar-brand span,.nav-section,.user-info,.logout-button{display:none}.nav-item{justify-content:center;padding:0;font-size:0}.nav-icon{font-size:17px}.sidebar-user{justify-content:center;padding:10px 0}.main-content{margin-left:70px}.page-content{padding:20px}.topbar{padding:0 20px}.stats-grid,.form-grid{grid-template-columns:1fr}.page-heading{align-items:flex-start;flex-direction:column}.filter-bar{flex-wrap:wrap}.filter-bar .search-input{max-width:none}.filter-bar select{width:100%}.detail-list>div{grid-template-columns:1fr;gap:4px}.danger-zone{align-items:flex-start;flex-direction:column}}
.qr-card{margin-top:20px}.qr-body{padding:22px;display:flex;align-items:center;gap:24px}.qr-body>img{width:180px;height:180px;border:1px solid #e7e9ed;border-radius:9px}.qr-info{flex:1;min-width:0}.qr-info>label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.copy-row{display:flex;gap:8px}.copy-row input{min-width:0;flex:1;padding:10px 12px;border:1px solid #dce1e7;border-radius:7px;background:#fafbfc}.qr-actions{display:flex;gap:8px;margin-top:13px;flex-wrap:wrap}@media(max-width:700px){.qr-body{align-items:flex-start;flex-direction:column}.qr-body>img{width:160px;height:160px}.qr-info{width:100%}.copy-row{flex-direction:column}}

/* Phase 6 - Wallet Pass preparation */
.wallet-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.wallet-body{padding:8px 22px}.wallet-option{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px 0;border-bottom:1px solid #eef0f2}.wallet-option:last-child{border-bottom:0}.wallet-option-icon{width:48px;height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:25px;font-weight:700;background:#111827;color:#fff}.wallet-option-icon.google{background:#f1f3f5;color:#334f63}.wallet-option-copy h3{font-size:14px;margin-bottom:5px}.wallet-option-copy p{font-size:12px;color:#7f8895;line-height:1.5;max-width:500px}.wallet-status{display:inline-block;margin-top:7px;font-size:10px;font-weight:700;color:#9a6b16;background:#fff6df;padding:4px 7px;border-radius:999px}.wallet-option button[disabled]{opacity:.55;cursor:not-allowed}.wallet-setup-card{margin-top:20px}.wallet-checklist{padding:8px 22px 16px}.wallet-checklist>div{display:flex;gap:13px;padding:15px 0;border-bottom:1px solid #eef0f2}.wallet-checklist>div:last-child{border-bottom:0}.check-dot{width:28px;height:28px;flex:0 0 28px;border-radius:50%;background:#eef0f3;color:#7a8490;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700}.check-dot.ready{background:#eaf6ee;color:#267146}.wallet-checklist strong,.wallet-checklist small{display:block}.wallet-checklist strong{font-size:12px;margin:1px 0 4px}.wallet-checklist small{font-size:11px;color:#8c95a1;line-height:1.45}.wallet-preview-wrap{background:#eef2f5;border-radius:12px;padding:18px;align-self:start}.wallet-preview-title{font-size:12px;color:#66717e;margin-bottom:15px}.wallet-pass{background:linear-gradient(145deg,#3e5d73,#314c60);color:#fff;border-radius:22px;min-height:500px;padding:24px;box-shadow:0 18px 40px rgba(49,76,96,.2);display:flex;flex-direction:column}.wallet-brand{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.wallet-brand strong{display:block;font-size:18px}.wallet-brand small{display:block;font-size:6px;letter-spacing:1px;text-transform:uppercase;margin-top:3px;opacity:.82}.wallet-brand>span{font-size:8px;letter-spacing:.8px;opacity:.65}.wallet-person{margin-top:48px}.wallet-person>small{font-size:8px;letter-spacing:1px;opacity:.65}.wallet-person h3{font-size:25px;margin:6px 0 6px}.wallet-person p{font-size:12px;margin-top:4px;opacity:.85}.wallet-qr{margin-top:auto;text-align:center}.wallet-qr img{width:150px;height:150px;background:#fff;padding:7px;border-radius:13px}.wallet-qr p{font-size:10px;margin-top:9px;letter-spacing:.3px;opacity:.8}@media(max-width:1000px){.wallet-layout{grid-template-columns:1fr}.wallet-preview-wrap{max-width:390px}}@media(max-width:650px){.wallet-option{grid-template-columns:48px 1fr}.wallet-option button{grid-column:1/-1;width:100%}}
.wallet-status.wallet-ready{color:#267146;background:#eaf6ee}
.wallet-distribution-card{margin-top:20px}.wallet-distribution-body{padding:20px 22px;display:grid;gap:20px}.wallet-distribution-copy label{display:block;font-size:12px;font-weight:600;margin-bottom:7px}.wallet-add-qr{display:flex;align-items:center;gap:18px;padding:18px;background:#f8fafb;border:1px solid #e8ecef;border-radius:10px}.wallet-add-qr img{width:132px;height:132px;background:#fff;padding:7px;border:1px solid #e1e5e9;border-radius:10px}.wallet-add-qr strong,.wallet-add-qr small{display:block}.wallet-add-qr strong{font-size:13px;margin-bottom:6px}.wallet-add-qr small{font-size:11px;color:#7f8895;line-height:1.55;max-width:390px}@media(max-width:650px){.wallet-add-qr{align-items:flex-start;flex-direction:column}.wallet-add-qr img{width:150px;height:150px}.wallet-distribution-card .copy-row{flex-direction:column}}
