:root{--cream:#fcfcf8;--cream-deep:#f4efe6;--ink:#2a160d;--ink-soft:#5b4636;--beige:#c1aba1;--maple:#b3402a;--serif:'Noto Serif SC','Songti SC',serif;--sans:-apple-system,'PingFang SC','Microsoft YaHei',sans-serif}
*{box-sizing:border-box}body{background:var(--cream);color:var(--ink);font-family:var(--sans);margin:0}a{color:inherit}
.portal-nav{align-items:center;background:rgba(252,252,248,.96);border-bottom:1px solid #e6ddd4;display:flex;justify-content:space-between;padding:1rem 4vw;position:sticky;top:0;z-index:50}
.portal-brand{font-family:var(--serif);font-size:1.1rem;font-weight:900;text-decoration:none}.nav-links{align-items:center;display:flex;gap:1rem}.nav-links>a{color:var(--ink-soft);font-size:.78rem;text-decoration:none}
.portal-main{margin:0 auto;max-width:62rem;padding:3.5rem 4vw 7rem}.portal-head{border-bottom:1px solid var(--beige);margin-bottom:1.5rem;padding-bottom:1.4rem}.portal-head h1{font-family:var(--serif);font-size:2rem;letter-spacing:0;margin:0}.portal-head p{color:var(--ink-soft);font-size:.8rem;line-height:1.7;margin:.5rem 0 0}
.portal-toolbar{display:flex;justify-content:flex-end;margin-bottom:1rem}.portal-button{background:var(--maple);border:1px solid var(--maple);border-radius:.375rem;color:#fff;cursor:pointer;font:inherit;font-size:.78rem;padding:.62rem .9rem}.portal-button.secondary{background:#fff;border-color:var(--beige);color:var(--ink)}
.portal-list{background:#fff;border:1px solid #e2d8cf;border-radius:.5rem}.portal-row{align-items:center;border-bottom:1px solid #eee7e0;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.portal-row:last-child{border-bottom:0}.portal-row-main{min-width:0}.portal-row strong{display:block;font-family:var(--serif);font-size:.92rem}.portal-row small{color:var(--ink-soft);display:block;line-height:1.6;margin-top:.25rem}.portal-row.unread{border-left:3px solid var(--maple)}
.portal-panel{background:#fff;border:1px solid #e2d8cf;border-radius:.5rem;padding:1.2rem}.setting-row{align-items:center;border-bottom:1px solid #eee7e0;display:flex;gap:1rem;justify-content:space-between;padding:.9rem 0}.setting-row:last-child{border-bottom:0}.setting-row label{font-size:.84rem}.setting-row input[type=checkbox]{height:1.15rem;width:1.15rem}.portal-input,.portal-select{border:1px solid var(--beige);border-radius:.375rem;font:inherit;font-size:16px;padding:.58rem .65rem}.portal-status{color:var(--maple);font-size:.76rem;line-height:1.6;min-height:1.2rem}
.member-filters{display:flex;flex-wrap:wrap;gap:.5rem}.member-filter{background:#fff;border:1px solid var(--beige);border-radius:999px;color:var(--ink-soft);cursor:pointer;font:inherit;font-size:.76rem;padding:.42rem .9rem}.member-filter.active{background:var(--maple);border-color:var(--maple);color:#fff}.member-count{align-self:center;color:var(--ink-soft);font-size:.78rem;margin-left:auto}
.member-side{align-items:center;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}.member-note{min-width:9rem}.member-staffno{max-width:4.5rem;text-align:center}.member-tag{border:1px solid var(--beige);border-radius:999px;color:var(--ink-soft);font-size:.72rem;padding:.28rem .7rem}
@media(max-width:720px){.member-side{justify-content:flex-start;width:100%}.member-note{flex:1}}
@media(max-width:720px){.portal-nav{align-items:flex-start;gap:.8rem}.nav-links{flex-wrap:wrap;justify-content:flex-end}.portal-main{padding-top:2rem}.portal-row{align-items:flex-start;flex-direction:column}.portal-select{width:100%}}
.portal-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23b3402a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;background-size:.8rem;padding-right:2.1rem;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.portal-select:hover{border-color:var(--ink-soft)}.portal-select:focus{outline:none;border-color:var(--maple);box-shadow:0 0 0 3px rgba(179,64,42,.14)}.portal-select option{color:var(--ink);background:#fff}
.member-side .choices{width:9rem;margin-bottom:0;font-size:.78rem}.member-side .choices__inner{background:#fff;border:1px solid var(--beige);border-radius:.375rem;min-height:2.15rem;padding:.2rem 1.9rem .2rem .6rem;font-size:.78rem}.member-side .choices__list--single{padding:0}.member-side .choices__list--single .choices__item{color:var(--ink)}.member-side .choices[data-type*=select-one]::after{right:.7rem;border-width:5px;border-color:var(--maple) transparent transparent transparent}.member-side .choices[data-type*=select-one].is-open::after{border-color:transparent transparent var(--maple) transparent}.member-side .choices__inner.is-focused,.member-side .choices.is-open .choices__inner{border-color:var(--maple)}.member-side .choices__list--dropdown{background:#fff;border-color:var(--beige);border-radius:0 0 .375rem .375rem;box-shadow:0 10px 24px rgba(42,22,13,.14)}.member-side .choices__list--dropdown .choices__item--selectable{padding:.5rem .7rem;font-size:.78rem;color:var(--ink)}.member-side .choices__list--dropdown .choices__item--selectable.is-highlighted,.member-side .choices__list--dropdown .choices__item--selectable.is-selected{background:var(--cream-deep)}
.member-delete{background:#fff;border:1px solid #a34b43;border-radius:.375rem;color:#a34b43;cursor:pointer;font:inherit;font-size:.72rem;padding:.4rem .7rem}.member-delete:hover,.member-delete:focus-visible{background:#a34b43;color:#fff}
.member-approve{background:var(--maple);border:1px solid var(--maple);border-radius:.375rem;color:#fff;cursor:pointer;font:inherit;font-size:.72rem;padding:.4rem .7rem}.member-approve:hover,.member-approve:focus-visible{background:#7a2a1b;border-color:#7a2a1b}
.member-tag.pending{border-color:var(--maple);color:var(--maple)}
.member-reset{background:#fff;border:1px solid var(--maple);border-radius:.375rem;color:var(--maple);cursor:pointer;font:inherit;font-size:.72rem;padding:.4rem .7rem}.member-reset:hover,.member-reset:focus-visible{background:var(--maple);color:#fff}
.member-mod-toggle{align-items:center;border:1px solid var(--beige);border-radius:.375rem;color:var(--ink-soft);cursor:pointer;display:inline-flex;font-size:.72rem;gap:.32rem;padding:.4rem .6rem;user-select:none}.member-mod-toggle input{accent-color:var(--maple);height:1rem;width:1rem;margin:0}
.notification-empty{color:var(--ink-soft);font-size:.78rem;padding:1.5rem;text-align:center}
