
*{box-sizing:border-box}body{margin:0;background:#f4f3ef;color:#202120;font-family:system-ui,-apple-system,sans-serif}button,input,textarea,select{font:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #777;outline-offset:3px}header{background:#171717;color:white;padding:24px 5vw;display:flex;align-items:center;justify-content:space-between;gap:15px}.brand{font-weight:850;letter-spacing:4px;font-size:19px}.sub{font-size:10px;letter-spacing:3px;color:#aaa;margin-top:5px}.demo{font-size:11px;border:1px solid #555;border-radius:30px;padding:7px 10px}.shell{max-width:1200px;margin:auto;display:grid;grid-template-columns:210px 1fr;min-height:90vh}aside{padding:28px 18px;border-right:1px solid #ddd}nav{display:grid;gap:7px}.nav{border:0;background:none;text-align:left;padding:14px;border-radius:12px;color:#666}.nav.active{background:#202120;color:white}.nav span{margin-right:10px}.role{width:100%;margin:18px 0;padding:12px;border-radius:10px;background:white;border:1px solid #ddd;font-size:13px}main{padding:35px 40px 90px;min-width:0}.eyebrow{text-transform:uppercase;letter-spacing:2px;font-size:11px;color:#777;font-weight:650}h1{font-size:34px;letter-spacing:-1.3px;margin:10px 0}h2{font-size:20px;margin:0 0 18px}h3{font-size:16px;margin:0 0 6px}p{font-size:14px;line-height:1.6;color:#737570;margin:8px 0}.head{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;gap:16px}.hero{background:#202120;color:white;border-radius:20px;padding:30px;margin-bottom:25px;position:relative;overflow:hidden}.hero p{color:#bcbeb8;max-width:430px}.hero h2{font-size:27px;letter-spacing:-.8px}.hero:after{content:'↗';position:absolute;right:25px;top:10px;font-size:125px;font-weight:200;color:#444;pointer-events:none}.hero>*{position:relative;z-index:1}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:28px}.stat,.card{background:#fff;border:1px solid #e5e5df;border-radius:16px;padding:22px}.stat strong{display:block;font-size:28px;letter-spacing:-1px}.stat small{font-size:12px;color:#777}.row{display:flex;gap:15px;align-items:center;padding:15px 0;border-bottom:1px solid #eee}.row:last-child{border:0}.grow{flex:1;min-width:0}.avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#e9e9e3;color:#585a55;font-weight:700;flex-shrink:0}.pill{display:inline-block;background:#efefeb;border-radius:20px;padding:5px 9px;font-size:11px;color:#555;margin:5px 3px 5px 0}.btn{border:0;border-radius:10px;padding:12px 16px;background:#202120;color:white;font-size:13px;font-weight:600;min-height:44px}.btn.light{background:#ededE7;color:#222}.btn.white{background:white;color:#222;margin-top:12px}.btn.small{padding:9px 12px;font-size:12px}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.muted{color:#888;font-size:12px}.section{margin-top:28px}.progress{height:7px;background:#e9e9e3;border-radius:10px;overflow:hidden;margin:15px 0}.progress i{display:block;background:#4b4d46;height:100%}.days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:18px 0}.day{border:1px solid #eee;background:#fff;border-radius:12px;padding:13px 4px;text-align:center;min-height:60px}.day.selected{background:#222;color:white}.day small{display:block;font-size:10px;margin-bottom:5px}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.tabs button{border:1px solid #ddd;background:white;border-radius:20px;padding:9px 14px;font-size:12px}.tabs button.selected{background:#222;color:white}.field{display:block;font-size:12px;margin:15px 0 7px}input,textarea,select{width:100%;border:1px solid #ddd;border-radius:10px;padding:13px;background:#fafaf8;color:#222}textarea{min-height:100px;resize:vertical}.bubble{padding:14px 17px;background:#eeeee9;border-radius:16px 16px 16px 3px;margin:12px 0;max-width:85%;font-size:14px;line-height:1.5}.bubble.mine{background:#222;color:white;margin-left:auto;border-radius:16px 16px 3px 16px}.check{display:flex;align-items:center;gap:12px;padding:15px 0;font-size:14px}.check input{width:20px;height:20px;accent-color:#222}.check.done span{text-decoration:line-through;color:#888}.notice{font-size:11px;color:#888;margin-top:25px;line-height:1.6}.empty{padding:35px;text-align:center;color:#777}dialog{border:0;border-radius:20px;padding:26px;width:min(92vw,480px);max-height:85vh;overflow:auto}dialog::backdrop{background:#0006}.toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:#222;color:white;padding:13px 20px;border-radius:12px;z-index:10;font-size:13px;box-shadow:0 8px 30px #0003}a{color:inherit}footer{font-size:11px;margin-top:25px;color:#888}.toprole{display:none}
@media(max-width:760px){header{padding:19px 20px}.brand{font-size:16px}.shell{display:block}aside{border:0;padding:0}aside .role,aside .notice{display:none}nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #ddd;padding:8px 4px calc(8px + env(safe-area-inset-bottom));z-index:5}.nav{font-size:9px;padding:8px 4px;text-align:center;border-radius:9px;flex:1}.nav span{display:block;font-size:18px;margin:0 0 4px}.nav.active{background:#efefeb;color:#222}main{padding:24px 20px 115px}h1{font-size:28px}.grid{grid-template-columns:1fr}.hero{padding:25px}.hero h2{font-size:24px}.stat{padding:16px 10px}.stat strong{font-size:24px}.stat small{font-size:10px}.toprole{display:block;margin:0 0 23px;padding:11px;font-size:12px}.head{align-items:start}.head .btn{max-width:135px}.card{padding:20px}.days{gap:4px}.day{font-size:13px}.hero:after{font-size:95px;top:30px;right:12px}.row .btn{padding:10px;font-size:11px}}

.login{max-width:470px;margin:45px auto;padding:30px}.login h1{font-size:29px}.error{color:#9e302b;font-size:13px;line-height:1.5}.linkbox{word-break:break-all;font-size:12px;background:#eee;padding:14px;border-radius:10px}.loading{text-align:center;padding:40px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px;gap:10px}.topbar button{background:white;border:1px solid #ddd;border-radius:9px;padding:8px;font-size:12px}.sheet{white-space:pre-wrap}.field input{margin-top:6px}.disabled{opacity:.5;pointer-events:none}input,textarea,select{font-size:16px}@media(max-width:760px){.login{margin:24px 16px}.stats{grid-template-columns:repeat(2,1fr)}.nav{font-size:8px}.topbar{font-size:12px}aside nav{overflow-x:auto}aside nav .nav{min-width:50px}}
/* Under Wings: current homepage palette, calm responsive app layout. */
:root{--ink:#45403c;--muted:#756b62;--brand:#88543f;--brand-dark:#7d4431;--paper:#fffdf9;--cream:#f4eadf;--line:#eadfd4}body{background:#f9f3eb;color:var(--ink)}header{background:var(--paper);color:var(--ink);border-bottom:1px solid var(--line);padding:20px 5vw}.sub{color:var(--muted)}.demo{color:var(--brand);border-color:#d8c9bb;font-size:10px}.brand{letter-spacing:3px}.shell{max-width:1440px;grid-template-columns:220px 1fr}aside{border-color:var(--line);background:var(--paper)}.profile{padding:12px 14px 24px;font-size:15px}.profile small{display:block;color:var(--muted);margin-top:5px}.nav{color:var(--muted);position:relative}.nav.active{background:var(--cream);color:var(--brand-dark);font-weight:750}main{padding:28px 36px 50px}.topbar{font-size:14px;gap:12px}.topbar>div{display:flex;gap:6px}.topbar strong{font-weight:650}.topbar button{background:var(--paper);border-color:var(--line)}h1{font-size:38px;font-weight:750;letter-spacing:-1.4px;margin:8px 0}h2{font-size:21px;font-weight:700;letter-spacing:-.4px}h3{font-size:16px}p{color:var(--muted)}.head{margin-bottom:24px}.head>div>p{font-size:13px}.eyebrow{font-size:10px;letter-spacing:2.1px;color:var(--muted)}.hero{background:var(--cream);color:var(--ink);padding:32px;border:1px solid var(--line);border-radius:18px}.hero h2{font-size:25px;max-width:580px;margin:12px 0}.hero p{color:var(--muted)}.hero:after{display:none}.card{background:var(--paper);border-color:var(--line);box-shadow:0 3px 14px #45403c03}.btn{background:var(--brand);border-radius:9px;color:white;font-size:13px}.btn:hover{background:var(--brand-dark)}.btn.light{background:var(--cream);color:var(--brand-dark)}.btn.white{background:var(--paper);color:var(--brand-dark)}.btn.danger{background:#f9e6e1;color:#9e3027}.btn:disabled{opacity:.45;cursor:not-allowed}.row{border-color:var(--line)}.avatar{background:var(--cream);color:var(--brand)}.dog-photo{object-fit:cover}.field{font-size:13px;font-weight:550;color:var(--ink);margin-top:18px}input,textarea,select{background:var(--paper);border-color:#d8c9bb;border-radius:9px;margin-top:6px}input:focus,textarea:focus,select:focus{outline:2px solid #bd8a6b;outline-offset:1px}.date-entry{display:flex;gap:6px}.date-entry input:first-child{flex:1;min-width:120px}.date-entry input[type=date]{width:46px;color:transparent;padding:8px;cursor:pointer}.date-entry input[type=date]::-webkit-calendar-picker-indicator{opacity:1;width:22px;padding:0}.check input{accent-color:var(--brand);width:19px;height:19px;margin:0}.check{font-size:13px}.search{max-width:100%;margin-top:0}.search input{background:var(--paper);padding:16px;border:1px solid #bda794}.search-results{max-height:280px;overflow:auto;margin-top:16px}.facts{margin-top:22px;display:grid;grid-template-columns:1fr 1fr;gap:15px}.facts>div{border-bottom:1px solid var(--line);padding-bottom:10px;min-width:0}.facts dt{font-size:11px;color:var(--muted);margin-bottom:5px}.facts dd{margin:0;font-size:14px;line-height:1.5;white-space:pre-wrap}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.calendar-head h2{margin:0;font-size:20px}.month-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.weekday{text-align:center;font-size:12px;color:var(--muted);padding:8px}.calendar-day{border:1px solid var(--line);background:var(--paper);border-radius:9px;height:72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-size:15px;color:var(--ink)}.calendar-day.today{border:2px solid var(--brand)}.calendar-day.selected{background:var(--cream);font-weight:700}.dots{display:flex;gap:3px;flex-wrap:wrap;justify-content:center;min-height:8px}.event-marker{display:inline-block;width:8px;height:8px;border-radius:50%;background:#aaa;flex-shrink:0}.event-marker.group{background:#807c76}.event-marker.walk{background:#61816b}.event-marker.single,.event-marker.check{background:#5b7fa4}.event-marker.workshop,.event-marker.seminar{background:#bc8752}.event-marker.webinar{background:#8b7097}.legend{display:flex;gap:10px 16px;flex-wrap:wrap;margin-top:18px;font-size:10px;color:var(--muted)}.legend>span{display:flex;align-items:center;gap:5px}.status{display:inline-flex;gap:4px;align-items:center;border-radius:7px;padding:5px 8px;font-size:11px;background:var(--cream);color:var(--ink);margin-top:5px}.status.requested{background:#f9e2df;color:#a53b32}.status.processing{background:#fbefc7;color:#826919}.status.confirmed{background:#dfecdf;color:#356344}.status.past{background:#e8e7e3;color:#706e69}.status.waiting{background:#e7e7f5;color:#655985}.status.cancelled,.status.rejected{background:#f1e8e6;color:#885c56}.badge{display:inline-grid;place-items:center;background:#407655;color:white;border-radius:50%;font-style:normal;font-size:10px;min-width:19px;height:19px;margin-left:5px}.internal-panel{background:#eee7df;padding:16px;margin:20px 0;border:1px solid #d8c9bb;border-radius:10px}.internal-panel h3{font-size:14px}.packages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.package h2{font-size:26px;margin:12px 0}.price{font-size:32px;font-weight:750;color:var(--brand)}.price small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin:5px 0}.package ul{padding-left:18px;font-size:13px;line-height:1.9;color:var(--muted);min-height:100px}.quota-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0}.quota{background:var(--cream);padding:16px;border-radius:12px;min-width:0;overflow-wrap:anywhere}.quota strong{font-size:13px;color:var(--brand)}.quota h3{font-size:13px;margin:0 0 8px;line-height:1.4}.quota p{font-size:12px;line-height:1.5;margin:4px 0}.messenger{display:grid;grid-template-columns:190px 1fr;gap:16px}.messenger:not(:has(.threads)){grid-template-columns:1fr}.threads{display:flex;flex-direction:column;gap:6px;max-height:65vh;overflow:auto}.thread{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;text-align:left;font-size:13px;color:var(--ink)}.thread.selected{background:var(--cream);border-color:#bda794}.chat-history{max-height:52vh;overflow:auto;padding:5px 0}.bubble{background:var(--cream);color:var(--ink);overflow-wrap:anywhere}.bubble small{display:block;font-size:9px;opacity:.7;margin-bottom:7px}.bubble.mine{background:var(--brand);color:white}.chat form{border-top:1px solid var(--line);margin-top:20px}.chat textarea{min-height:70px}.dog-selector{display:flex;gap:10px;flex-wrap:wrap}.dog-choice{display:flex;align-items:center;gap:10px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px;font-size:14px;color:var(--ink)}.dog-choice.selected{background:var(--cream);border-color:#bda794}.tabs button.selected{background:var(--brand);border-color:var(--brand)}.links{display:flex;gap:12px;flex-direction:column;font-size:13px;overflow-wrap:anywhere}.toast{background:var(--brand-dark)}dialog{width:min(94vw,620px);background:var(--paper);color:var(--ink);padding:28px;border:1px solid var(--line)}dialog h2{font-size:25px}#unsaved{max-width:480px;z-index:100}fieldset{border:1px solid var(--line);border-radius:10px;margin-top:20px;padding:14px}legend{font-size:12px}.notice{color:var(--muted)}footer{color:var(--muted)}button:focus-visible,a:focus-visible{outline-color:var(--brand)}
@media(min-width:1200px){.packages{grid-template-columns:repeat(4,minmax(0,1fr))}.package{padding:20px}.package .btn{padding:12px}}
@media(max-width:760px){header{padding:16px 18px}.brand{font-size:16px}.sub{font-size:8px;letter-spacing:2px}.demo{display:none}.profile{display:none}.shell{display:block}main{padding:22px 16px calc(100px + env(safe-area-inset-bottom))}h1{font-size:31px;line-height:1.15;letter-spacing:-1px}.topbar{font-size:13px;margin-bottom:22px}.topbar .btn{padding:7px 9px}.head{gap:10px}.head>.btn{font-size:12px;padding:11px;white-space:nowrap}.hero{padding:24px}.hero h2{font-size:23px}.card{padding:20px}.grid{grid-template-columns:1fr}.packages{grid-template-columns:1fr}.package ul{min-height:0}.quota-grid{grid-template-columns:1fr}.quota{display:block}.quota h3{margin:0 0 8px}.calendar-day{height:49px;font-size:13px}.month-calendar{gap:4px}.calendar-head h2{font-size:18px}.facts{grid-template-columns:1fr 1fr;gap:12px}.messenger{display:block}.threads{flex-direction:row;max-height:none;overflow-x:auto;margin-bottom:14px}.thread{min-width:130px}.chat-history{max-height:45vh}.nav{font-size:9px;min-width:58px!important;flex:0 0 auto;padding:9px 8px;color:var(--muted)}aside nav{justify-content:space-between;background:var(--paper);border-color:var(--line);padding:7px 7px calc(7px + env(safe-area-inset-bottom))}.nav span{font-size:18px}.nav .badge{position:absolute;top:3px;right:0;font-size:8px;min-width:15px;height:15px}.nav.active{background:var(--cream);color:var(--brand-dark)}.row{gap:10px}.row .btn{font-size:11px;flex-shrink:0}.legend{gap:10px;font-size:9px}.login{margin:24px 16px;padding:25px}.login h1{font-size:31px}dialog{padding:22px}.bubble{max-width:92%}.row h3{overflow-wrap:anywhere}.dog-selector{gap:8px}.dog-choice .avatar{width:34px;height:34px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.more-nav{display:none}.menu-list{display:grid;gap:10px}.menu-list .btn{text-align:left}#calendar-details:has(.head){border-color:#bda794}@media(max-width:760px){.extra-nav{display:none}.more-nav{display:block}aside nav{overflow-x:visible}.nav{flex:1 1 0;min-width:0!important}}
.new-label{display:inline-block;background:#dfecdf;color:#356344;border-radius:6px;padding:4px 7px;font-size:10px;font-weight:700;margin-left:6px}.new-work{border-left:4px solid #407655;margin:20px 0}.new-work h2{color:#356344}.task-row .check{margin:0;padding:6px 0}.case-record>.eyebrow{margin-bottom:15px}@media(max-width:760px){.task-row{align-items:flex-start}.task-row .check{font-size:12px}.new-work{padding:18px}}

.case-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0 16px;margin:12px 0;position:relative}.case-tabs button{flex:0 0 auto;white-space:nowrap;font-size:14px;padding:10px 14px}.case-tabs button.active{background:var(--ink,#20221f);color:white}.case-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.case-shortcuts button{text-align:left}.case-primary{gap:8px}.case-primary button{font-size:14px;padding:12px 16px}#case-content>.card:first-child{margin-top:0}@media(max-width:600px){.case-primary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.case-primary button{width:100%;min-height:48px}.case-tabs{margin:8px 0 4px}.case-record .actions{gap:8px}}

.event-actions{display:flex;flex-direction:column;gap:10px;align-items:flex-end;max-width:52%}.event-actions .participation{max-width:260px}.participation .notice{font-size:13px;line-height:1.5;margin:8px 0}.participation button:disabled{opacity:.5;cursor:not-allowed}.actions>.participation{flex-basis:100%}@media(max-width:600px){.event-row{flex-wrap:wrap}.event-actions{max-width:100%;width:100%;align-items:stretch}.event-actions .participation{max-width:none}.event-actions>.btn{align-self:flex-start}}

.material-preview{display:block;max-width:100%;max-height:420px;margin:12px auto;object-fit:contain;border-radius:12px}fieldset[hidden],[data-exercise-household][hidden]{display:none}
.course-lesson{border:1px solid var(--line,#e4ddd5);border-radius:14px;padding:16px;margin:12px 0}.course-lesson summary{font-size:18px;font-weight:700;cursor:pointer}.course-lesson .links{display:flex;flex-wrap:wrap;gap:12px}.preview-customer{border:1px solid #d9cec2;border-radius:16px;padding:16px;background:#faf7f1}.preview-customer h1{font-size:28px}.preview-customer .card{box-shadow:none}#course-lessons fieldset{margin:16px 0}
.event-row.past-event{background:#eeece9;opacity:.65;border-radius:10px;padding:14px 12px}.event-row.past-event .event-marker{background:#999}.event-row.past-event h3{color:#716d68}

.inbox-row{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:18px 0;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer}.inbox-row small{display:block;margin-top:7px;color:var(--muted)}.inbox-row strong{font-size:16px;overflow-wrap:anywhere}.status.done{background:#dfecdf;color:#356344}.chat-history:focus-visible{outline:2px solid var(--brand)}.inbox-row .grow{min-width:0}.inbox-row>span:last-child{font-size:12px;flex-shrink:0}


/* Compact attachment controls stay readable on narrow screens. */
.attachment-actions{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0;min-width:0}
.attachment-actions .btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;max-width:100%;min-height:42px;white-space:normal;overflow-wrap:anywhere}
.attachment-icon{width:18px;height:18px;flex:0 0 18px}
