html,body{margin:0;min-height:100%}body{background:#eef1f4;color:#17202a;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,select,input{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}img{display:block}h1,h2,p{margin:0}.boot-message,.app-shell{padding:28px}.topbar{align-items:stretch;background:#fff;border:1px solid #dde3ea;border-radius:16px;box-shadow:0 18px 42px #1f293714;display:flex;flex-direction:column;gap:16px;margin:0 auto 12px;max-width:1440px;padding:18px 20px}.title-block{padding-bottom:0}.reviewer-badge{background:#f3f6fa;border:1px solid #d7dde5;border-radius:999px;color:#1f2937;display:inline-flex;font-size:13px;font-weight:700;margin-top:10px;padding:6px 11px}.toolbar-panel{background:#fff;border:1px solid #dde3ea;border-radius:16px;box-shadow:0 12px 28px #1f29370f;margin:0 auto 22px;max-width:1440px;padding:14px 20px}.topbar h1{color:#101820;font-size:30px;line-height:1.2}.topbar p,.hint{color:#687381;font-size:14px;line-height:1.4;margin-top:6px}.couple-name{color:#9b5d2e}.review-layout{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) 320px;margin:0 auto;max-width:1440px}.viewer-panel,.panel,.thumb-card{background:#fff;border:1px solid #dde3ea;border-radius:14px;box-shadow:0 14px 34px #1f293714}.viewer-panel{padding:18px}.mode-row{border-bottom:1px solid #e7ebef;display:flex;flex-wrap:wrap;gap:8px;margin:-2px 0 14px;padding-bottom:14px}.viewer-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.viewer-head div{display:grid;gap:4px}.viewer-head span{color:#687381;font-size:14px}.viewer-tools{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.main-photo{background:#f7f8fa;border:1px solid #e7ebef;border-radius:12px;height:72vh;object-fit:contain;width:100%}.empty-view{align-items:center;background:#f7f8fa;border-radius:12px;color:#687381;display:flex;height:72vh;justify-content:center}.action-row,.toolbar,.chips{display:flex;flex-wrap:wrap;gap:10px}.toolbar{align-items:center}.action-row{justify-content:center;margin-top:14px}.nav-row{display:flex;gap:10px;margin:-2px 0 14px}.button,.filter-grid button,.chips span{border-radius:9px;padding:11px 14px}.button{background:#e4e8ed;color:#17202a;font-weight:650;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.button:hover,.filter-grid button:hover{transform:translateY(-1px)}.button.primary{background:#245c9f;color:#fff}.button.secondary{background:#344052;color:#fff}.button.success{background:#16845a;color:#fff}.button.danger{background:#b8423b;color:#fff}.button.maybe{background:#b8792e;color:#fff}.file-button{cursor:pointer;display:inline-flex;overflow:hidden;position:relative}.file-button input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.mode-button{background:#f7f8fa;border:1px solid #d7dde5;border-radius:999px;color:#344052;font-size:13px;font-weight:800;padding:8px 12px}.mode-button.selected{background:#17202a;border-color:#17202a;color:#fff}.side-panel{display:grid;gap:14px}.panel{padding:18px}.panel.narrow{margin:60px auto;max-width:640px}.login-panel{margin:70px auto;max-width:640px}.panel h1{font-size:26px;margin-bottom:12px}.panel h2{font-size:16px;margin-bottom:14px}.filter-grid{display:grid;gap:8px;grid-template-columns:1fr}.filter-grid button{background:#f7f8fa;border:1px solid #d7dde5;color:#1f2937;font-weight:700;text-align:left}.filter-grid button.selected{background:#17202a;border-color:#17202a;color:#fff}select{background:#fff;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;width:100%}input{background:#fff;border:1px solid #d1d5db;border-radius:10px;color:#17202a;min-width:0;padding:10px 12px;width:100%}.chips span{background:#f7f8fa;color:#344052;font-size:14px}.status-pill{border-radius:999px;font-size:13px;font-weight:800;padding:7px 11px;text-transform:capitalize}.status-pill.approved{background:#dff5ea;color:#0f6847}.status-pill.rejected{background:#f8e2df;color:#8c2d28}.status-pill.maybe{background:#f5ead8;color:#8b551c}.status-pill.pending{background:#e9edf2;color:#344052}.saved-text{color:#15803d;font-size:14px;font-weight:700;margin-top:10px}.resume-text{color:#245c9f;font-size:14px;font-weight:700;margin-top:10px}.error-text{color:#b91c1c;margin-bottom:12px}.sequence-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;max-width:1440px}.preview-layout{display:grid;gap:16px;margin:0 auto;max-width:1440px}.preview-summary{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.preview-summary h2{margin-bottom:0}.preview-summary .hint{flex-basis:100%}.preview-grid{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.preview-section{display:grid;gap:12px}.section-head{align-items:baseline;display:flex;gap:12px;justify-content:space-between}.section-head h2{font-size:18px}.section-head span{color:#687381;font-size:13px;font-weight:700}.thumb-card{overflow:hidden}.thumb-card img{background:#f7f8fa;height:230px;object-fit:contain;width:100%}.thumb-meta{display:grid;gap:4px;padding:12px}.thumb-meta span{color:#4b5563;font-size:13px;overflow-wrap:anywhere}.thumb-image-wrap{position:relative}.thumb-image-wrap .status-pill{position:absolute;right:10px;top:10px}.preview-card .button{justify-self:start;margin-top:4px}.mini-actions,.jump-row{display:flex;gap:8px}.mini-actions{flex-wrap:wrap;margin-top:4px}.mini-actions .button{padding:9px 11px}.jump-row{align-items:center}.login-row{margin-bottom:10px}.jump-row .button{flex:0 0 auto}.progress-stack{display:grid;gap:14px}.progress-label{align-items:center;color:#344052;display:flex;font-size:13px;justify-content:space-between;margin-bottom:7px}.progress-label strong{color:#17202a}.meter{background:#e9edf2;border-radius:999px;height:10px;overflow:hidden}.meter span{background:#245c9f;display:block;height:100%}.meter.target span{background:#16845a}.contact-grid{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));max-height:74vh;overflow:auto;padding-right:4px}.contact-pager{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}.contact-card{background:#fff;border:1px solid #dde3ea;border-radius:12px;display:grid;gap:8px;padding:10px}.contact-card.selected{border-color:#245c9f;box-shadow:0 0 0 3px #245c9f2e}.contact-card strong{color:#344052;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.contact-image{background:#f7f8fa;border-radius:10px;overflow:hidden;padding:0;position:relative}.contact-image img{aspect-ratio:1 / 1;object-fit:cover;width:100%}.contact-image .status-pill{bottom:8px;left:8px;position:absolute}.contact-card .mini-actions{display:flex;flex-wrap:wrap}.contact-card .mini-actions .button{font-size:12px;min-width:70px;padding:8px 7px;text-align:center}@media (max-width: 980px){.topbar{align-items:stretch;flex-direction:column}.review-layout{grid-template-columns:1fr}.sequence-grid,.preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width: 620px){.app-shell{padding:12px}.main-photo,.empty-view{height:58vh}.sequence-grid,.preview-grid{grid-template-columns:1fr}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.contact-card .mini-actions .button{flex:1 1 84px}}
