:root{--ink:#17372f;--ink-soft:#536a63;--paper:#f5f1e8;--paper-deep:#e9e1d3;--card:#fffdf9;--line:#d7cebf;--orange:#e86e44;--orange-deep:#a43f25;--green-soft:#e9f1ec;--blue-soft:#eef3f6;--shadow:0 10px 28px #17372f14}*{box-sizing:border-box}html{color:var(--ink);background:var(--paper);scroll-behavior:smooth}body{background:var(--paper);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}button,select,summary,a{-webkit-tap-highlight-color:transparent}button,summary,select{cursor:pointer}:focus-visible{outline:3px solid var(--orange);outline-offset:3px}.roster-header{color:#fffaf1;background:var(--ink);padding:16px}.header-inner,.event-summary{max-width:980px;margin:0 auto}.header-inner{flex-direction:column;justify-content:space-between;align-items:stretch;gap:14px;display:flex}.roster-brand{gap:3px;display:grid}.roster-brand span,.conference-picker span{color:#bbd0c8;letter-spacing:.1em;text-transform:uppercase;font-size:.65rem;font-weight:900}.roster-brand strong{font-family:Georgia,Times New Roman,serif;font-size:1.1rem}.conference-picker{flex:1;gap:5px;min-width:0;display:grid}.header-controls{align-items:end;gap:8px;width:100%;display:flex}.conference-picker select{color:#fffaf1;background:#284b42;border:1px solid #ffffff4d;border-radius:7px;width:100%;min-height:42px;padding:0 34px 0 11px;font-size:.84rem;font-weight:800}.logout-button{color:#fffaf1;letter-spacing:.05em;text-transform:uppercase;background:0 0;border:1px solid #ffffff4d;border-radius:7px;min-height:42px;padding:0 12px;font-size:.7rem;font-weight:900}.logout-button:hover{background:#ffffff14}.event-summary{padding:24px 0 6px}.event-summary h1{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.8rem,8vw,3.1rem);font-weight:500;line-height:1}.event-summary p{color:#c8d8d2;margin:10px 0 0;font-size:.82rem;line-height:1.45}.search-zone{z-index:10;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f5f1e8f5;padding:10px 16px;position:sticky;top:0}.search-shell{max-width:980px;min-height:50px;color:var(--ink-soft);border:1px solid var(--line);background:var(--card);border-radius:8px;grid-template-columns:24px 1fr auto;align-items:center;margin:0 auto;padding:0 10px;display:grid;box-shadow:0 4px 14px #17372f0d}.search-shell>span{font-family:Georgia,serif;font-size:1.4rem}.search-shell input{width:100%;min-height:48px;color:var(--ink);background:0 0;border:0;outline:0;font-size:1rem}.search-shell button{width:36px;height:36px;color:var(--ink);background:var(--paper-deep);border:0;border-radius:50%;font-size:1.2rem}.filter-panel{max-width:980px;margin:5px auto 0}.filter-panel summary{min-height:34px;color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 3px;font-size:.7rem;font-weight:900;list-style:none;display:flex}.filter-panel summary::-webkit-details-marker{display:none}.profile-details summary::-webkit-details-marker{display:none}.filter-panel summary span:before{content:"＋";margin-right:7px;display:inline-block}.filter-panel[open] summary span:before{content:"−"}.filter-grid{gap:10px;padding:10px 0 6px;display:grid}.filter-grid label{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;gap:5px;font-size:.67rem;font-weight:900;display:grid}.filter-grid select,.reset-button{min-height:44px;color:var(--ink);border:1px solid var(--line);background:var(--card);border-radius:6px;padding:0 11px;font-size:.82rem;font-weight:700}.reset-button{color:#fffaf1;border-color:var(--ink);background:var(--ink);align-self:end}.workspace{max-width:980px;margin:0 auto;padding:18px 14px 0}.import-banner{color:var(--ink);background:var(--green-soft);border:1px solid #b7c9bd;border-radius:9px;gap:12px;margin-bottom:12px;padding:14px;display:grid}.import-banner div{gap:3px;display:grid}.import-banner strong{font-size:.82rem}.import-banner span{color:var(--ink-soft);font-size:.72rem;line-height:1.45}.import-banner button,.primary-action{color:#fffaf1;background:var(--ink);border:0;border-radius:7px;min-height:44px;padding:0 16px;font-weight:900}.add-person-panel{border:1px solid var(--line);background:var(--card);border-radius:9px;overflow:hidden;box-shadow:0 4px 16px #17372f0a}.add-person-panel>summary{justify-content:space-between;align-items:center;min-height:62px;padding:10px 14px;list-style:none;display:flex}.add-person-panel>summary::-webkit-details-marker{display:none}.add-person-panel>summary>span{gap:3px;display:grid}.add-person-panel>summary strong{color:var(--orange-deep);font-size:.82rem}.add-person-panel>summary small{color:var(--ink-soft);font-size:.7rem}.add-person-panel>summary em{color:#396d56;text-transform:uppercase;font-size:.68rem;font-style:normal;font-weight:900}.add-person-panel>summary:after{color:var(--ink-soft);content:"⌄";margin-left:8px}.add-person-panel[open]>summary:after{transform:rotate(180deg)}.add-person-form{border-top:1px solid var(--line);background:#f9f5ed;padding:18px 14px}.form-intro{max-width:620px;margin-bottom:18px}.form-intro h2{letter-spacing:-.03em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:1.45rem;font-weight:600}.form-intro>p:last-child{color:var(--ink-soft);margin:7px 0 0;font-size:.76rem;line-height:1.5}.form-grid{gap:12px;display:grid}.form-grid label,.login-form label{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;gap:6px;font-size:.66rem;font-weight:900;display:grid}.form-grid input,.form-grid select,.form-grid textarea,.login-form input{width:100%;min-height:46px;color:var(--ink);border:1px solid var(--line);letter-spacing:0;text-transform:none;background:#fff;border-radius:7px;padding:10px 11px;font-size:.86rem;font-weight:500}.form-grid textarea{resize:vertical;min-height:74px;line-height:1.45}.primary-action{width:100%;margin-top:14px}.primary-action:disabled,.import-banner button:disabled,.login-form button:disabled,.note-save:disabled{cursor:wait;opacity:.65}.form-error{color:#a02e20;margin:12px 0 0;font-size:.76rem;font-weight:800;line-height:1.45}.import-error{margin:0}.results,.company-leaders{max-width:980px;margin:0 auto;padding:32px 14px 70px}.section-heading{justify-content:space-between;align-items:end;gap:18px;margin:0 2px 18px;display:flex}.eyebrow{color:var(--orange-deep);letter-spacing:.12em;text-transform:uppercase;margin:0 0 7px;font-size:.68rem;font-weight:900}.section-heading h2{letter-spacing:-.04em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.65rem,7vw,2.7rem);font-weight:500;line-height:1}.print-link{color:var(--orange-deep);text-underline-offset:4px;text-transform:uppercase;flex:none;padding-bottom:4px;font-size:.68rem;font-weight:900;text-decoration-thickness:2px}.card-grid{gap:16px;display:grid}.person-card{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:10px;padding:16px;position:relative;overflow:hidden}.person-card:before{background:var(--orange);content:"";width:5px;position:absolute;top:0;bottom:0;left:0}.person-card.adjacent:before{background:#679b82}.identity-row{grid-template-columns:108px minmax(0,1fr);align-items:start;gap:14px;display:grid}.avatar{width:108px;height:126px;color:var(--ink);background:var(--paper-deep);letter-spacing:-.03em;border:1px solid #b8ad9a;border-radius:9px;place-items:center;font-family:Georgia,Times New Roman,serif;font-size:1.7rem;font-weight:700;display:grid;overflow:hidden}.avatar.photo{background:#dfe7e1}.avatar.photo img{object-fit:cover;object-position:center top;filter:saturate(.96)contrast(1.02);width:100%;height:100%}.classification{color:var(--orange-deep);letter-spacing:.08em;text-transform:uppercase;margin-bottom:5px;font-size:.61rem;font-weight:900;display:inline-block}.adjacent .classification{color:#396d56}.identity-copy{min-width:0}.identity-copy h3{letter-spacing:-.035em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.35rem,6vw,1.8rem);font-weight:600;line-height:1.05}.identity-copy>p{color:var(--ink-soft);margin:5px 0;font-size:.8rem;line-height:1.38}.company-name{font-size:.8rem;line-height:1.35;display:block}.card-actions{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.card-actions a,.card-actions>span{min-height:38px;color:var(--ink);border:1px solid var(--ink);text-align:center;text-transform:uppercase;border-radius:6px;justify-content:center;align-items:center;padding:7px 9px;font-size:.62rem;font-weight:900;text-decoration:none;display:inline-flex}.card-actions>span{color:#737d79;border-color:var(--line)}.count-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8f4ed;grid-template-columns:repeat(3,1fr);margin:16px -16px 0;display:grid}.count-row div{text-align:center;border-right:1px solid var(--line);gap:2px;padding:10px 5px;display:grid}.count-row div:last-child{border:0}.count-row strong{font-family:Georgia,Times New Roman,serif;font-size:1.08rem}.count-row span{color:var(--ink-soft);letter-spacing:.04em;text-transform:uppercase;font-size:.56rem;font-weight:800}.profile-columns{gap:10px;margin-top:16px;display:grid}.card-section{margin:0}.card-section>span,.notes-field>span{color:var(--orange-deep);letter-spacing:.09em;text-transform:uppercase;font-size:.63rem;font-weight:900}.card-section p,.card-section a{margin:5px 0 0;font-family:Georgia,Times New Roman,serif;font-size:.93rem;line-height:1.55;display:block}.card-section.opener{border-left:3px solid var(--orange);background:#fbf0e8;padding:12px}.card-section.news{background:var(--blue-soft);border-left:3px solid #88a7b6;margin:14px 0;padding:11px}.card-section.news a{text-underline-offset:3px;font-family:Arial,Helvetica,sans-serif;font-size:.76rem;font-weight:750}.profile-details{border-top:1px dashed #c6bba8;margin-top:15px}.profile-details summary{color:var(--ink-soft);letter-spacing:.05em;text-transform:uppercase;padding:14px 0 2px;font-size:.68rem;font-weight:900;list-style:none}.profile-details summary:before{content:"＋";margin-right:6px}.profile-details[open] summary:before{content:"−"}.profile-details>div>p{color:var(--ink-soft);font-size:.78rem;line-height:1.55}.fit-line strong{color:var(--ink)}.profile-details dl{gap:6px;margin:14px 0;display:grid}.profile-details dl div{border-bottom:1px solid #eee5d7;grid-template-columns:100px 1fr;gap:8px;padding-bottom:6px;font-size:.7rem;display:grid}.profile-details dt{color:var(--ink-soft);font-weight:800}.profile-details dd{margin:0}.source-list{flex-wrap:wrap;gap:6px;display:flex}.source-list a{border:1px solid var(--line);background:var(--paper);border-radius:5px;padding:7px 8px;font-size:.67rem;font-weight:800;text-decoration:none}.notes-field{border-top:1px solid var(--line);gap:7px;margin-top:16px;padding-top:14px;display:grid}.notes-field>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.notes-field small{color:var(--ink-soft);letter-spacing:0;text-transform:none;font-size:.6rem;font-weight:700}.notes-field>span>span{display:inline-flex}.notes-field textarea{resize:vertical;width:100%;min-height:84px;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:7px;padding:11px;font-size:.86rem;line-height:1.5}.note-save{color:#fffaf1;background:var(--ink);text-transform:uppercase;border:0;border-radius:6px;justify-self:end;min-height:38px;padding:0 13px;font-size:.68rem;font-weight:900}.login-page,.roster-status{background:linear-gradient(#17372fdb, #17372ff0), radial-gradient(circle at 25% 10%, #6e9c86 0, transparent 45%), var(--ink);place-items:center;min-height:100svh;padding:24px 16px;display:grid}.login-card,.status-card{background:var(--card);border:1px solid #ffffff26;border-radius:12px;width:min(100%,420px);padding:28px 24px;box-shadow:0 24px 60px #00000038}.login-mark{color:#fffaf1;background:var(--orange);border-radius:50%;place-items:center;width:42px;height:42px;margin-bottom:22px;font-family:Georgia,Times New Roman,serif;font-size:1.3rem;font-weight:700;display:grid}.login-card h1,.status-card h1{letter-spacing:-.045em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,9vw,3rem);font-weight:500;line-height:1}.login-card>p:not(.eyebrow),.status-card>p{color:var(--ink-soft);margin:14px 0 22px;font-size:.84rem;line-height:1.6}.login-form{gap:13px;display:grid}.login-form button,.status-card button{color:#fffaf1;background:var(--ink);border:0;border-radius:7px;min-height:48px;padding:0 18px;font-weight:900}.status-card{text-align:center}.status-card .login-mark{margin-left:auto;margin-right:auto}.empty-state{text-align:center;background:#fffdf999;border:1px dashed #b7aa94;padding:60px 20px}.empty-state p{font-family:Georgia,Times New Roman,serif;font-size:1.2rem}.empty-state button{color:#fff;background:var(--ink);border:0;border-radius:6px;min-height:44px;padding:0 18px;font-weight:800}footer{color:#bfd1ca;background:var(--ink);flex-direction:column;gap:8px;padding:24px 18px 36px;font-size:.7rem;line-height:1.5;display:flex}footer p{margin:0}footer a{color:#fffaf1;font-weight:800}@media (min-width:620px){.header-inner{flex-direction:row;align-items:end;gap:18px}.header-controls{width:auto}.conference-picker{min-width:148px}.filter-grid{grid-template-columns:repeat(2,1fr)}.import-banner{grid-template-columns:minmax(0,1fr) auto;align-items:center}.import-error{grid-column:1/-1}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-wide{grid-column:1/-1}.primary-action{width:auto;min-width:180px}.person-card{padding:20px}.identity-row{grid-template-columns:138px minmax(0,1fr);gap:20px}.avatar{width:138px;height:156px;font-size:2.1rem}.count-row{margin-left:-20px;margin-right:-20px}.card-actions a,.card-actions>span{min-height:40px;padding:8px 12px;font-size:.66rem}.profile-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}footer{flex-direction:row;justify-content:space-between}}@media (min-width:840px){.roster-header{padding:20px 24px}.event-summary{padding-top:30px}.filter-grid{grid-template-columns:repeat(3,1fr)}.results,.company-leaders{padding-top:42px}.identity-row{grid-template-columns:154px minmax(0,1fr)}.avatar{width:154px;height:174px}}@media print{.search-zone,.print-link,.notes-field,.workspace,footer{display:none}.person-card{break-inside:avoid;box-shadow:none}}
