:root{--ink:#203a35;--muted:#627570;--teal:#356c61;--teal-dark:#24564d;--line:#dce6df;--paper:#fff;--wash:#f4f7f3;--soft:#edf3ed;--gold:#9c7238;--danger:#a84a40;--shadow:0 14px 42px rgba(30,62,54,.07);--radius:20px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#f6f8f5;color:var(--ink);font-family:"DM Sans",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}
button,input,select{font:inherit}
a{color:var(--teal-dark)}
:focus-visible{outline:3px solid #d99b45;outline-offset:3px}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px max(20px,calc((100vw - 1140px)/2));background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-family:Manrope,sans-serif;font-weight:800}
.brand img{display:block;width:126px;height:auto;max-height:46px;object-fit:contain;object-position:left center}
.brand span{padding-left:12px;border-left:1px solid var(--line);font-size:14px}
.back-link{font-size:13px;font-weight:700;text-decoration:none}
.shell{width:min(100% - 32px,1050px);margin:0 auto;padding:34px 0 60px}
.hero{max-width:760px;margin:0 auto 22px;text-align:center}
.eyebrow{margin:0 0 8px;color:var(--teal);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:Manrope,"DM Sans",sans-serif;line-height:1.2}
h1{max-width:720px;margin:0 auto 12px;font-size:clamp(29px,5vw,43px);letter-spacing:-.035em}
h2{margin-bottom:8px;font-size:clamp(20px,3vw,25px);letter-spacing:-.02em}
h3{margin-bottom:7px;font-size:17px}
.lead{max-width:690px;margin:0 auto;color:var(--muted);font-size:16px}
.feedback-form-link{margin-top:14px}
.notice{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;margin:0 0 20px;padding:17px 19px;border:1px solid #e7d7b6;border-radius:16px;background:#fff9ea;color:#65583e;font-size:13px}
.notice strong{color:#634917}
.panel{padding:22px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:var(--shadow)}
.login-panel{display:grid;gap:18px}
.login-panel .muted{max-width:720px;margin-bottom:0}
.profile-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.profile-button{display:flex;align-items:center;gap:12px;min-width:0;padding:15px;text-align:left;border:1px solid var(--line);border-radius:16px;background:#fbfcfa;color:var(--ink);cursor:pointer;transition:border-color .15s,transform .15s,background .15s}
.profile-button:hover{border-color:#85a99b;background:var(--soft);transform:translateY(-1px)}
.profile-button strong,.profile-button small{display:block}
.profile-button strong{font-size:14px}
.profile-button small{margin-top:3px;color:var(--muted);font-size:12px}
.profile-avatar{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:14px;background:#e0eee7;color:var(--teal-dark);font-size:18px;font-weight:800}
.profile-avatar.alt{background:#f5ecd9;color:#80602c}
.profile-button .arrow{margin-left:auto;color:var(--teal);font-size:12px;font-weight:800;white-space:nowrap}
.muted{color:var(--muted);font-size:14px}
.live-status{min-height:22px;margin:8px 0 0;color:var(--teal-dark);font-size:13px;font-weight:650}
.account-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0}
.account-bar h2{margin-bottom:2px}
.account-bar .muted{margin-bottom:0;font-size:13px}
.account-actions{display:flex;gap:8px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 15px;border:1px solid transparent;border-radius:12px;text-align:center;text-decoration:none;font-size:13px;font-weight:750;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}
.button:hover:not(:disabled){transform:translateY(-1px)}
.button:disabled{cursor:not-allowed;opacity:.55}
.button.primary{background:var(--teal);color:white}
.button.primary:hover:not(:disabled){background:var(--teal-dark)}
.button.secondary{border-color:#b9cec3;background:#f0f5f0;color:var(--teal-dark)}
.button.secondary:hover:not(:disabled){background:#e5efe7}
.button.quiet{border-color:var(--line);background:white;color:var(--muted)}
.button.danger-outline{border-color:#e6c4bd;background:#fff8f6;color:var(--danger)}
.consent{margin:18px 0}
.consent p{max-width:790px;color:var(--muted);font-size:14px}
.check-line{display:flex;align-items:flex-start;gap:11px;margin:16px 0;color:var(--ink);font-size:14px;font-weight:650}
.check-line input{width:19px;height:19px;flex:none;margin:2px 0 0;accent-color:var(--teal)}
.section-panel{margin:18px 0}
.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}
.section-heading h2{margin-bottom:5px}
.section-heading .muted{margin-bottom:0}
.status-badge{flex:none;padding:6px 10px;border-radius:99px;background:var(--soft);color:var(--teal-dark);font-size:11px;font-weight:800}
.entry-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 12px;align-items:end}
.entry-form label,.reminder-fields label,.compact-label{display:block;color:var(--ink);font-size:12px;font-weight:750}
.entry-form select,.reminder-fields select,.reminder-fields input,.inline-control select{width:100%;min-height:46px;margin-top:6px;padding:10px 12px;border:1px solid #d3e0d8;border-radius:11px;background:#fff;color:var(--ink);font-size:14px}
.entry-form .form-actions{grid-column:1/-1;margin-top:4px}
.form-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.privacy-inline{margin:12px 0 0;padding:11px 13px;border-radius:12px;background:#f2f6f1;color:var(--muted);font-size:12px}
.entry-list{display:grid;gap:10px;margin-top:12px}
.entry-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:15px;background:#fcfdfa}
.entry-card h3{margin:0 0 4px;font-size:14px}
.entry-card p{margin:0;color:var(--muted);font-size:12px}
.entry-card .entry-meta{margin-top:5px;color:#7a8c86;font-size:11px}
.entry-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.entry-actions .button{min-height:37px;padding:7px 10px;font-size:12px}
.empty-state{margin:0;padding:18px;text-align:center;border:1px dashed #cfdbd3;border-radius:14px;color:var(--muted);font-size:13px}
.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.two-col .panel{margin:0}
.stack-actions{display:grid;gap:9px;margin-top:14px}
.stack-actions .button{width:100%}
.compact-label{margin:6px 0 -4px}
.inline-control{display:flex;gap:8px;align-items:center}
.inline-control select{margin:0;flex:1;min-width:0}
.request-list{display:grid;gap:6px;margin:11px 0 0;padding-left:20px;color:var(--muted);font-size:12px}
.guardian-status{margin:14px 0;padding:13px 14px;border:1px solid #dce6df;border-radius:13px;background:#f7faf7;color:var(--muted);font-size:13px}
.guardian-status[data-state="pending"]{border-color:#e5d5b2;background:#fff9eb;color:#735c31}
.guardian-status[data-state="approved"]{border-color:#c6ddcf;background:#eef6f0;color:var(--teal-dark)}
.synthetic-summary{margin-top:12px;padding:14px;border:1px dashed #90b39d;border-radius:14px;background:#f2f7f2;color:var(--teal-dark);font-size:13px}
.synthetic-summary ul{margin:8px 0;padding-left:20px}
.reminder-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0}
.reminder-fields label span{display:block}
.audit-list{display:grid;gap:8px;margin:12px 0 0;padding-left:19px;color:var(--muted);font-size:12px}
.checklist-panel{margin-top:18px;background:#f0f5ef}
.checklist-panel .muted{max-width:790px}
.link-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:12px}
.text-link{font-size:13px;font-weight:700}
.footer{padding:25px 8px;text-align:center;color:#71817b;font-size:12px}
.toast{position:fixed;z-index:10;left:50%;bottom:24px;max-width:min(90vw,600px);padding:12px 16px;border-radius:12px;background:#203a35;color:white;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.18);opacity:0;transform:translate(-50%,12px);transition:opacity .2s,transform .2s;pointer-events:none}
.toast.show{opacity:1;transform:translate(-50%,0)}
[hidden]{display:none!important}
@media(max-width:760px){.shell{width:min(100% - 24px,660px);padding-top:24px}.topbar{padding:10px 14px}.brand img{width:112px}.back-link{font-size:12px}.profile-options,.two-col{grid-template-columns:1fr}.entry-form{grid-template-columns:1fr}.entry-form .form-actions{grid-column:1}.account-bar{align-items:flex-start;flex-direction:column}.section-heading{flex-direction:column}.entry-card{grid-template-columns:1fr}.entry-actions{justify-content:flex-start}.panel{padding:18px}.notice{grid-template-columns:1fr;gap:5px}.notice strong{font-size:14px}}
@media(max-width:420px){.topbar{align-items:flex-start}.brand{gap:7px}.brand img{width:92px}.brand span{padding-left:8px;font-size:12px}.back-link{max-width:110px;text-align:right}.shell{width:calc(100% - 20px)}.account-actions,.form-actions,.link-row{width:100%}.account-actions .button,.form-actions .button,.link-row .button{flex:1}.profile-button{padding:12px}.profile-button .arrow{font-size:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
