*{box-sizing:border-box}
:root{--ink:#20251f;--muted:#737a72;--line:#e3e6df;--paper:#fff;--wash:#f7f8f4;--green:#51653e;--green-dark:#3f5230;--green-soft:#eef2e9}
html,body{margin:0;min-height:100%;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{text-decoration:none;color:inherit}button,input,select{font:inherit}.hidden{display:none!important}
.profile-app{min-height:100vh;display:grid;grid-template-columns:176px 1fr}
.profile-sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);padding:18px 14px 14px;display:flex;flex-direction:column;z-index:5}
.sidebar-brand{display:flex;align-items:center;gap:8px;padding:0 2px 22px;font:600 15px Georgia,serif}
.sidebar-brand img{width:36px;height:36px}
.sidebar-nav{display:grid;gap:5px}
.sidebar-nav a,.sidebar-profile{display:flex;align-items:center;gap:10px;min-height:38px;padding:0 11px;border-radius:9px;color:#5f675f;font-size:13px}
.sidebar-nav img,.sidebar-profile img{width:17px;height:17px;opacity:.76}
.sidebar-nav a:hover,.sidebar-profile:hover,.sidebar-profile.active{background:#f0f3eb;color:#35442e}
.sidebar-spacer{flex:1}
.sidebar-profile{margin-top:8px;border-top:1px solid var(--line);border-radius:0;padding-top:13px}
.sidebar-watercolor{min-height:155px;margin:-2px -14px -14px;padding:75px 18px 18px;background:url('/shared-assets/decorations/territory-horizon-forest.svg') center bottom/cover no-repeat;display:flex;align-items:flex-end}
.sidebar-watercolor p{margin:0;color:#7d847b;font:11px/1.45 Georgia,serif}
.profile-workspace{min-width:0}
.profile-topbar{height:62px;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 24px;position:sticky;top:0;z-index:4;backdrop-filter:blur(12px)}
.mobile-brand{display:none}
.profile-search{width:min(460px,50vw);height:36px;background:#f3f4f1;border:1px solid #e8ebe5;border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 11px}
.profile-search img{width:15px;opacity:.55}.profile-search input{width:100%;border:0;background:transparent;outline:0;font-size:12px;color:var(--ink)}
.top-user{margin-left:auto;display:flex;align-items:center;gap:9px;padding:4px 8px;border-radius:11px}
.top-user:hover{background:#f1f3ed}.top-avatar{width:32px;height:32px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:750;background-size:cover;background-position:center}
.top-user>span:last-child{display:grid;line-height:1.15}.top-user b{font-size:12px}.top-user small{font-size:10px;color:#81877f}
.profile-main{max-width:1180px;margin:0 auto;padding:30px 28px 60px;background:#fff}
.profile-workspace{background:#fff}.profile-title h1{font:500 42px/1 Georgia,serif;margin:0}.profile-title p{margin:7px 0 0;color:#82877f;font:15px Georgia,serif}
.profile-tabs{margin:22px 0 16px;background:#fff;border:1px solid var(--line);border-radius:13px;padding:4px;display:grid;grid-template-columns:repeat(6,1fr)}
.profile-tabs button{border:0;background:transparent;color:#697169;border-radius:9px;padding:10px 9px;font-size:12px}
.profile-tabs button:hover{background:#f5f6f2;color:var(--ink)}.profile-tabs button.active{background:var(--green);color:#fff;box-shadow:0 3px 10px #52653e24}
.summary-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:13px}
.profile-card,.profile-stats article,.settings-card,.session-card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 5px 18px rgba(48,57,46,.035)}
.summary-user-card{min-height:150px;padding:18px;display:flex;align-items:center;gap:17px}
.summary-avatar{width:76px;height:76px;flex:0 0 76px;border-radius:50%;overflow:hidden;background:#dfe8d7;color:#405132;display:grid;place-items:center;font:700 25px Georgia,serif}
.summary-avatar img{width:100%;height:100%;object-fit:cover}.summary-user-copy{min-width:0}.summary-user-copy h2{font:600 22px Georgia,serif;margin:0 0 4px}.summary-user-copy p{margin:0;color:#777e76;font-size:12px}.summary-user-copy small{display:block;color:#90968f;font-size:11px;margin:5px 0 9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.edit-profile-btn{border:1px solid #dde1da;background:#fff;border-radius:8px;padding:7px 10px;color:#4b5947;font-size:11px}
.edit-profile-btn:hover{background:#f3f5ef}
.profile-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.profile-stats article{min-height:70px;padding:13px 15px;display:grid;grid-template-columns:30px 1fr;grid-template-rows:auto auto;column-gap:8px;align-items:center}
.stat-icon{grid-row:1/3;width:30px;height:30px;border-radius:9px;background:#eef3e9;display:grid;place-items:center;color:#587047}
.profile-stats strong{font:700 22px Georgia,serif;line-height:1}.profile-stats small{font-size:10px;color:#7e857d}
.profile-section{margin-top:20px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.section-heading h2,.panel-heading h2{font:600 20px Georgia,serif;margin:0}
.section-heading>div{display:flex;align-items:flex-end;gap:18px}.mini-tabs{display:flex;gap:12px}.mini-tabs button,.text-link,.places-subtabs button{border:0;background:transparent;color:#747c73;padding:5px 2px;font-size:11px}.mini-tabs button.active,.places-subtabs button.active{color:#405332;border-bottom:2px solid #546940}.text-link{color:#53654a}.text-link:after{content:"  →"}
.favorite-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.favorite-card{min-height:132px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;position:relative}.favorite-photo{height:67px;background:#e9ece5 center/cover}.favorite-type{position:absolute;left:8px;top:8px;background:#fff;border:1px solid #dde3da;border-radius:7px;padding:4px 7px;font-size:9px}.favorite-body{padding:9px 10px}.favorite-body b{font:600 14px Georgia,serif}.favorite-body small{display:block;margin-top:4px;color:#81877f;font-size:10px}.favorite-heart{position:absolute;right:8px;top:8px;width:24px;height:24px;border:0;background:#fff;border-radius:50%;color:#c74444}
.visit-row{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.visit-card{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:11px;padding:8px}.visit-thumb{width:48px;height:38px;flex:0 0 48px;border-radius:7px;background:#e8ece5 center/cover}.visit-card b{display:block;font:600 12px Georgia,serif}.visit-card small{font-size:9px;color:#8a9089}
.panel-heading{margin:4px 0 16px}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:10px;color:#7b8479;font-weight:750;margin:0 0 5px}
.list-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.list-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:14px}.list-card h3{font:600 16px Georgia,serif;margin:0 0 6px}.list-card p,.list-card small{color:#7c837b;font-size:11px;line-height:1.4}.list-card .metric{font-weight:700;color:#475644}
.places-subtabs{display:flex;gap:15px;margin:0 0 14px}
.empty-panel{min-height:310px;background:#fff;border:1px solid var(--line);border-radius:18px;display:grid;place-items:center;align-content:center;text-align:center;padding:30px}.empty-panel>span{font-size:34px;color:#647857}.empty-panel h2{font:600 25px Georgia,serif;margin:10px 0 3px}.empty-panel p{max-width:480px;color:#7e857d;margin:0 0 16px}.primary-link{display:inline-block;background:var(--green);color:#fff;border-radius:10px;padding:10px 14px;font-weight:700;font-size:12px}
.settings-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:14px}.settings-card{padding:22px}.settings-card h2{font:600 25px Georgia,serif;margin:0 0 10px}.settings-card>p{color:#737b73;font-size:12px;line-height:1.5}.avatar-row{display:flex;align-items:center;gap:14px;margin:16px 0}.avatar-big{border:0;width:76px;height:76px;border-radius:50%;background:var(--green);color:#fff;font-size:25px;overflow:hidden;padding:0}.avatar-big img{width:100%;height:100%;object-fit:cover}.avatar-row>div{display:grid;gap:3px}.avatar-row small,.hint{color:#7b8279;font-size:11px}.text-btn{border:0;background:transparent;color:#536a46;text-align:left;padding:4px 0}.settings-card label,.modal label{display:grid;gap:6px;margin:13px 0;color:#5f675e;font-size:12px}.settings-card input,.modal input,.modal select{border:1px solid #dfe3dc;border-radius:10px;padding:11px 12px;background:#fff;outline:0}.settings-card input:focus,.modal input:focus,.modal select:focus{border-color:#8a9b7c;box-shadow:0 0 0 3px #6f85521b}.primary,.soft-btn,.logout-btn{border:0;border-radius:10px;padding:11px 14px;font-weight:700}.primary{background:var(--green);color:#fff}.primary:hover,.primary-link:hover{background:var(--green-dark)}.soft-btn{background:#edf2e9;color:#485f38}.link-primary{display:inline-block;margin-top:13px}
.section-head{display:flex;align-items:center}.section-head>div{flex:1}.switch{margin:0!important}.switch input{display:none}.switch span{display:block;width:46px;height:27px;border-radius:20px;background:#d9ded5;position:relative;transition:.2s}.switch span:after{content:"";position:absolute;left:3px;top:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0002;transition:.2s}.switch input:checked+span{background:var(--green)}.switch input:checked+span:after{transform:translateX(19px)}
.children-list{display:grid;gap:8px;margin:15px 0}.child-row{display:flex;align-items:center;gap:10px;border:1px solid #e5e8e2;border-radius:11px;padding:9px}.kid-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-size:23px;background:#f1f4ed}.child-copy{flex:1;display:grid}.child-copy small{color:#7b8279}.child-actions{display:flex;gap:5px}.child-actions button{border:0;background:#f2f4ef;border-radius:8px;padding:7px}.child-row.active{border-color:#839574;background:#f7f9f4}
.session-card{margin-top:14px;padding:16px 18px;display:flex;align-items:center;gap:18px}.session-card>div{flex:1}.session-card b{font:600 16px Georgia,serif}.session-card p{margin:3px 0 0;color:#80877f;font-size:11px}.logout-btn{background:#f4eceb;color:#8b4540}.logout-btn:hover{background:#eedfdd}
.modal{position:fixed;inset:0;background:#0006;display:grid;place-items:center;padding:20px;z-index:50}.modal-card{width:min(440px,100%);background:#fff;border-radius:20px;padding:24px;position:relative}.modal-card h2{font:600 28px Georgia,serif;margin:4px 0 12px}.close{position:absolute;right:14px;top:14px;border:0;width:32px;height:32px;border-radius:50%;font-size:20px}.avatar-picker{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0}.avatar-choice{width:48px;height:48px;border:2px solid transparent;border-radius:50%;background:#f1f4ed;font-size:25px}.avatar-choice.active{border-color:var(--green)}
.empty-inline{grid-column:1/-1;background:#fff;border:1px dashed #d9ddd5;border-radius:12px;padding:22px;color:#828981;text-align:center;font-size:12px}
@media(max-width:900px){.profile-app{grid-template-columns:76px 1fr}.profile-sidebar{padding:14px 10px}.sidebar-brand span,.sidebar-nav span,.sidebar-profile span,.sidebar-watercolor{display:none}.sidebar-brand{justify-content:center}.sidebar-nav a,.sidebar-profile{justify-content:center;padding:0}.sidebar-nav img,.sidebar-profile img{width:20px}.summary-grid,.settings-grid{grid-template-columns:1fr}.favorite-grid{grid-template-columns:repeat(2,1fr)}.visit-row{grid-template-columns:repeat(2,1fr)}.list-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.profile-app{display:block}.profile-sidebar{display:none}.profile-topbar{height:58px;padding:0 14px}.mobile-brand{display:flex;align-items:center;gap:6px;font:600 14px Georgia,serif}.mobile-brand img{width:30px}.profile-search{display:none}.top-user small{display:none}.profile-main{padding:22px 14px 40px}.profile-title h1{font-size:35px}.profile-tabs{overflow-x:auto;display:flex;scrollbar-width:none}.profile-tabs button{white-space:nowrap;min-width:90px}.summary-user-card{min-height:132px}.favorite-grid{grid-template-columns:1fr}.visit-row,.list-grid{grid-template-columns:1fr 1fr}.section-heading>div{display:block}.mini-tabs{margin-top:7px}}
@media(max-width:420px){.visit-row,.list-grid{grid-template-columns:1fr}.summary-user-card{align-items:flex-start}.summary-avatar{width:64px;height:64px;flex-basis:64px}}