:root{font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#18332e;background:#f5f7f5;font-size:17px;line-height:1.7;--green:#145c4e;--border:#d6dfda;--muted:#5b6b65}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:var(--green)}button:disabled{opacity:.45;cursor:not-allowed}[hidden]{display:none!important}.site-header{background:white;border-bottom:1px solid var(--border);padding:20px 5%;display:flex;justify-content:space-between;gap:24px;align-items:center}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;font-size:22px;font-weight:bold;color:#18332e;white-space:nowrap}.brand small{font-size:12px;display:block;letter-spacing:.1em;color:var(--muted);font-weight:normal}.brand-mark{background:var(--green);color:white;display:grid;place-items:center;border-radius:10px;width:44px;height:48px;font-size:25px}.account{display:flex;align-items:center;gap:18px;font-size:14px;color:var(--muted);overflow-wrap:anywhere}.text-button{background:none;border:0;color:var(--green);font-size:15px;text-decoration:underline;padding:10px;white-space:nowrap}main{max-width:1200px;margin:0 auto;padding:24px 40px 60px;min-height:74vh}.tabs{display:flex;gap:32px;border-bottom:1px solid var(--border);margin-bottom:36px}.tabs button{background:none;border:0;padding:16px 0;color:var(--muted);font-weight:bold;border-bottom:3px solid transparent}.tabs button[aria-current=page]{color:var(--green);border-bottom-color:var(--green)}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}.eyebrow{color:var(--green);font-size:14px;font-weight:bold;margin:0 0 8px;letter-spacing:.08em}h1{font-size:34px;line-height:1.45;letter-spacing:.02em;margin:0 0 12px}h2{font-size:23px;margin:0}p{margin:0 0 16px}.lead{font-size:17px;color:var(--muted);margin:0}.button{min-height:48px;padding:11px 22px;display:inline-flex;justify-content:center;align-items:center;gap:8px;border-radius:6px;font-weight:bold;border:1px solid transparent;text-decoration:none;font-size:17px;white-space:nowrap}.primary{color:white;background:var(--green)}.primary:hover{background:#0c453a}.secondary{background:white;border-color:#afc3b9;color:var(--green)}.secondary:hover{background:#eef4f0}.summary{display:flex;gap:52px;padding:22px 28px;background:#e9f0eb;border-top:2px solid #9db8a8;border-bottom:1px solid var(--border);margin-bottom:26px}.summary p{margin:0;font-size:14px;align-self:center}.summary strong{display:inline-block;font-size:35px;margin:0 7px 0 16px;line-height:1.2}.summary .summary-note{color:var(--muted);font-size:14px;margin-left:auto}.search-bar{display:flex;align-items:flex-end;gap:16px;background:white;border:1px solid var(--border);padding:22px;border-radius:8px}.search-bar label:first-child{flex:1}.search-bar label:nth-child(2){width:155px}label{display:block;font-weight:bold;font-size:15px}label small{font-size:12px;color:var(--muted);font-weight:normal;display:inline-block}input:not([type=checkbox]),textarea,select{display:block;width:100%;background:#fff;border:1px solid #aabdb2;border-radius:5px;padding:11px 13px;min-height:48px;margin-top:7px;color:#18332e;font-size:17px;font-weight:normal}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#73817a;font-size:15px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #cf9b26;outline-offset:3px}.result-heading{display:flex;justify-content:space-between;align-items:center;margin:28px 0 15px}.muted{color:var(--muted);font-size:14px}.result-heading p{margin:0}.member-list{border-top:1px solid var(--border)}.member-row{display:grid;grid-template-columns:64px 1.1fr 1.3fr .9fr auto;align-items:center;gap:18px;background:white;padding:20px 22px;border-bottom:1px solid var(--border)}.avatar{width:60px;height:60px;flex-shrink:0;object-fit:cover;border-radius:50%;background:#eef2ee;color:#4e6b5d;display:flex;align-items:center;justify-content:center;font-size:26px;border:1px solid var(--border)}.member-name{font-weight:bold;font-size:20px;margin:0}.member-meta{color:var(--muted);font-size:14px;margin:3px 0 0}.member-company{font-size:16px;margin:0;overflow-wrap:anywhere}.member-circles{font-size:14px;color:var(--muted);margin:0}.status{font-size:12px;color:#4f5d54}.pagination{display:flex;gap:24px;justify-content:center;align-items:center;margin-top:28px}.empty{padding:40px 20px;background:white;text-align:center;color:var(--muted)}.notice{padding:17px 21px;border-left:4px solid #b6cbbd;background:#eef3ed;color:#415b4e;font-size:15px;margin-bottom:25px}.directory-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;background:white;border:1px solid var(--border);padding:26px;border-radius:8px}.directory-form button{align-self:end;justify-self:end}.result-message{margin:25px 0;font-size:17px}.directory-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.directory-card{background:#fff;border:1px solid var(--border);border-radius:8px;padding:25px}.directory-card .person{display:flex;align-items:center;gap:18px;margin-bottom:18px}.directory-card .avatar{width:76px;height:76px}.directory-card dl{margin:0}.directory-card dt{font-size:13px;color:var(--muted);margin-top:13px}.directory-card dd{margin:2px 0;white-space:pre-wrap;font-size:16px;overflow-wrap:anywhere}.login-view{padding:70px 0 40px;max-width:850px}.login-view h1{font-size:46px;line-height:1.6;margin:10px 0 24px}.login-view .lead{margin-bottom:32px}.login-view form{margin-top:16px}.login-view .muted{margin-top:36px}.skip-link{position:absolute;left:0;top:-100px;background:white;padding:10px;z-index:10}.skip-link:focus{top:0}#message,#editor-error{padding:15px 20px;background:#fff5dc;border:1px solid #d7ba6c;border-radius:5px;color:#6a4a10;margin-bottom:20px;white-space:pre-wrap}footer{padding:26px 5%;border-top:1px solid var(--border);color:var(--muted);font-size:14px;background:white;display:flex;justify-content:space-between;gap:20px}dialog{width:min(900px,94vw);max-height:92vh;border:1px solid var(--border);border-radius:12px;padding:0;color:#18332e;box-shadow:0 20px 70px #12332633}dialog::backdrop{background:#102b2699}.dialog-header{padding:24px 30px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:#fff;position:sticky;top:0;z-index:2}#member-form{padding:25px 30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.span-two{grid-column:1/-1}fieldset{border:0;border-top:1px solid var(--border);padding:23px 0 28px;margin:24px 0 0}legend{font-size:20px;font-weight:bold;padding-right:16px}.required{font-size:12px;color:#855020;margin-left:6px}.photo-editor{display:flex;gap:22px;margin:25px 0;align-items:flex-start}.photo-editor img{width:100px;height:100px;object-fit:cover;border-radius:8px}.photo-editor input[type=file]{font-size:14px}.photo-editor .muted{margin-top:8px}.check-label{display:flex;align-items:center;gap:9px;font-size:14px}.check-label input{width:20px;height:20px}.dialog-actions{display:flex;justify-content:flex-end;gap:16px;padding-top:10px}.saving{opacity:.65;pointer-events:none}
@media(max-width:760px){.site-header{padding:16px 20px;align-items:flex-start}.account{font-size:11px;display:block;text-align:right}.account span{display:block;max-width:135px}.brand{font-size:18px}.brand-mark{width:36px;height:42px}.brand small{font-size:10px}main{padding:18px 20px 40px}.tabs{gap:22px;margin-bottom:26px}.tabs button{font-size:14px}.page-heading{align-items:flex-start;flex-direction:column;gap:18px}h1{font-size:28px}.lead{font-size:15px}.page-heading>.button{width:100%}.summary{padding:20px 16px;gap:22px}.summary strong{font-size:29px;margin-left:8px}.summary .summary-note{display:none}.search-bar{flex-wrap:wrap;padding:18px;gap:14px}.search-bar label:first-child{flex:1 0 100%}.search-bar label:nth-child(2){flex:1}.search-bar .button{flex:1}.member-row{grid-template-columns:50px 1fr auto;gap:12px;padding:19px 15px}.member-row .avatar{width:47px;height:47px;font-size:22px}.member-row .company-cell{grid-column:2}.member-row .circle-cell{grid-column:2}.member-row>.edit-member{grid-column:3;grid-row:1/4;padding:9px 14px;min-height:44px}.member-row .company-cell,.member-row .circle-cell{margin-top:-9px}.member-name{font-size:18px}.member-meta{font-size:12px}.member-company{font-size:15px}.member-circles{font-size:13px}.directory-form{grid-template-columns:1fr;padding:20px;gap:18px}.directory-form button{width:100%;justify-self:stretch}.directory-list{grid-template-columns:1fr}.directory-card{padding:22px}.notice{font-size:14px}.login-view{padding:35px 0}.login-view h1{font-size:35px}.login-view .button{white-space:normal;width:100%}footer{display:block;padding:22px 20px;font-size:12px}footer span{display:block;margin-top:8px}dialog{width:96vw;max-height:95vh}.dialog-header{padding:19px}.dialog-header h2{font-size:21px}#member-form{padding:20px}.form-grid{grid-template-columns:1fr}.photo-editor{flex-direction:column}.dialog-actions>.button{flex:1}.pagination{gap:14px}}
.login-form{max-width:540px;margin-bottom:28px;display:grid;gap:17px}.login-form .muted{margin-top:0}.login-form .button{justify-self:start}#local-mail-panel{padding:15px 20px;margin-bottom:25px;border:1px dashed var(--border);background:#fff}#local-mails{padding-top:12px;overflow-wrap:anywhere}#local-mail-panel summary{cursor:pointer;margin-bottom:12px}
@media print{.site-header,.tabs,.button,.text-button,footer,#local-mail-panel{display:none!important}body{background:white}.member-row,.directory-card{break-inside:avoid}main{max-width:none;padding:0}}
