*{box-sizing:border-box}
:root{--cream:#fffaf3;--green:#293e35;--muted:#73796f;--line:#e4e5dc;--coral:#c45c4f}
body{margin:0;background:var(--cream);color:var(--green);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;line-height:1.65}
[hidden]{display:none!important}
button,input,select{font:inherit}
button,a,input,select{touch-action:manipulation}
button{cursor:pointer;border:0}
button:disabled{cursor:default;opacity:.45}
a{color:inherit;text-decoration:none}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c79539;outline-offset:4px}
h1,h2,p{margin:0}
.topbar{max-width:1120px;margin:auto;padding:27px 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:13px;font-size:11px;font-weight:800;letter-spacing:.08em;line-height:1.7}
.brand small{display:block;color:var(--muted);font-size:8px;letter-spacing:.16em}
.star{font-size:32px;color:var(--coral);line-height:1}
.back{font-size:12px}
.shell{max-width:1120px;padding:58px 32px 40px;margin:auto}
.login-card{max-width:475px;margin:14px auto 32px;padding:40px;border:1px solid var(--line);background:white;border-radius:24px;box-shadow:0 13px 50px #293e3507}
.lock-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#f6e9c5;color:#7f7139;font-size:27px;margin-bottom:24px}
.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:750;color:#787b5a;margin-bottom:12px}
h1{font-size:32px;letter-spacing:-.065em;line-height:1.3}
.intro{font-size:14px;color:var(--muted);margin-top:14px}
.login-card form{margin-top:26px}
label{display:block;font-size:12px;font-weight:650}
input:not([type=checkbox]),select{display:block;width:100%;min-height:47px;border:1px solid #daddd2;border-radius:9px;padding:10px 12px;background:#fff;color:var(--green);font-size:16px;margin-top:7px}
.primary,.secondary{border-radius:10px;padding:12px 21px;min-height:46px;font-size:13px;font-weight:650}
.primary{background:var(--green);color:white}
.secondary{background:white;color:var(--green);border:1px solid #d9ded4}
.full{width:100%}
.notice{background:#f8f3e5;border:1px solid #e6ddbe;padding:12px 14px;border-radius:10px;font-size:12px;margin-top:23px;white-space:pre-line}
.subtle{color:var(--muted);font-size:11px;text-align:center;margin-top:22px;line-height:1.9}
.error{font-size:12px;color:#a23835;white-space:pre-line;margin:12px 0}
.error:empty{display:none}
#login-submit{margin-top:16px}
.dashboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:25px}
.dashboard-heading h1{font-size:36px}
.private-banner{display:flex;align-items:center;gap:9px;border:1px solid #dde7d9;background:#edf3e8;color:#506849;border-radius:10px;padding:11px 14px;font-size:12px;margin:26px 0}
.private-banner span{font-size:7px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stats>div{padding:20px;border:1px solid var(--line);border-radius:15px;background:white}
.stats span{font-size:12px;color:var(--muted)}
.stats strong{display:block;font-size:32px;font-weight:700;line-height:1.5}
.stats small{font-size:10px;color:var(--muted)}
.filters{display:flex;gap:15px;align-items:flex-end;flex-wrap:wrap;margin:30px 0 20px}
.search-label{flex:1;min-width:210px}
.filters>label:not(.search-label){min-width:110px}
.filters .checkbox-label{min-width:auto;display:flex;align-items:center;gap:7px;min-height:47px;font-weight:500}
input[type=checkbox]{accent-color:var(--green);width:17px;height:17px;margin:0}
.list-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:7px 0 14px;font-size:12px;color:var(--muted);gap:14px}
.list-toolbar>div{display:flex;gap:17px}
.text-button,.danger-link{padding:5px 0;background:none;font-size:12px;color:var(--green)}
.danger-link{color:#a94b40;flex-shrink:0}
.records{display:grid;gap:16px;margin-top:20px}
.record{padding:23px 25px;border:1px solid var(--line);border-radius:17px;background:white;overflow-wrap:anywhere}
.record.unread{border-left:4px solid #dfb657;padding-left:22px}
.record-top{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.record-title{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.record-title h2{font-size:19px;letter-spacing:-.02em}
.badge{display:inline-block;font-size:10px;border-radius:20px;padding:3px 10px;background:#eaf1e5;color:#42603c}
.badge.maybe{background:#faf0d3;color:#887233}
.badge.no{background:#f6e6e0;color:#9b6354}
.unread-dot{font-size:10px;color:#a77819}
.record time{font-size:11px;color:var(--muted)}
.record-meta{font-size:12px;color:var(--muted);margin-top:6px}
.message{border-radius:10px;background:#f9f8f2;padding:15px 18px;margin-top:17px}
.message-label{font-size:10px;letter-spacing:.02em;color:#73796c;margin-bottom:5px}
.message-text{font-size:14px;white-space:pre-wrap;line-height:1.85;overflow-wrap:anywhere}
.message-text.empty{font-size:12px;color:#93988e}
.record-actions{display:flex;gap:20px;justify-content:flex-end;margin-top:14px}
.empty-state{text-align:center;padding:60px 20px;background:#ffffff70;border:1px dashed #dedfce;border-radius:17px;margin-top:20px}
.empty-state>span{font-size:38px;color:#cc9d55}
.empty-state h2{font-size:20px;margin:12px 0}
.empty-state p{font-size:13px;color:var(--muted)}
.pagination{display:flex;justify-content:center;align-items:center;gap:22px;margin:27px 0}
.pagination span{font-size:12px;color:var(--muted)}
.pagination button{padding:8px 18px;min-height:40px}
.admin-footnote{display:flex;gap:26px;align-items:flex-start;border-top:1px solid var(--line);padding-top:24px;margin-top:36px}
.admin-footnote p{font-size:11px;color:var(--muted);flex:1;line-height:1.9}
footer{text-align:center;padding:26px 20px 38px;font-size:9px;letter-spacing:.13em;color:#868b7c}
footer span{color:var(--coral);margin-left:5px}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--green);color:white;padding:12px 22px;max-width:calc(100% - 30px);border-radius:10px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}
.toast.show{opacity:1}
@media(max-width:700px){
	.topbar{padding:21px 20px}.shell{padding:33px 20px 24px}.login-card{padding:28px 23px;margin:8px 0 20px}
	.dashboard-heading h1{font-size:29px}.dashboard-heading .secondary{padding:9px 11px;font-size:11px;min-height:38px}
	.intro{font-size:12px}.stats{grid-template-columns:repeat(2,1fr);gap:11px}.stats>div{padding:16px}
	.filters{gap:12px}.search-label{min-width:100%;}.filters>label:not(.search-label){flex:1}.filters>button{padding:12px 18px}
	.record{padding:19px 18px}.record.unread{padding-left:15px}.record-top{display:block}.record time{display:block;margin-top:10px}
	.record-title h2{font-size:18px}.message{padding:13px}.message-text{font-size:13px}.list-toolbar{font-size:11px}
	.list-toolbar>div{gap:13px}.text-button{font-size:11px}.private-banner{font-size:11px}
	.admin-footnote{display:block}.admin-footnote button{margin-top:13px}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
