:root{--ink:#18342f;--muted:#64736b;--green:#347749;--mint:#e6f0df;--cream:#f7f9f3;--purple:#97249b;--line:#dce5d8;--blue:#00597c}*{box-sizing:border-box}body{margin:0;background:var(--cream);font:16px/1.6 'DM Sans',sans-serif;color:var(--ink)}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #4e798b}button{cursor:pointer}h1,h2,h3{font-family:'Libre Baskerville',Georgia,serif;line-height:1.3;letter-spacing:-.035em}h1{font-size:34px;margin:10px 0 0}h2{font-size:23px;margin:0 0 20px}h3{font-size:18px;margin:22px 0 12px}p{margin:0 0 18px}small{display:block;font-size:12px;color:var(--muted)}.demo-banner{text-align:center;background:#e8e1ef;color:#57365e;padding:9px 25px;font-size:12px;border-top:4px solid var(--purple)}.demo-banner strong{font-size:11px;letter-spacing:.12em;margin-right:12px}.app-header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;border-bottom:1px solid var(--line);background:#fcfdf9}.brand{display:flex;align-items:center;gap:13px;font:700 23px 'Libre Baskerville';color:var(--blue);text-decoration:none}.brand img{width:48px;height:48px;object-fit:contain}.header-actions{display:flex;gap:25px;align-items:center}.header-actions>a{text-decoration:none;font-size:14px;font-weight:700}.avatar,.initial{background:var(--mint);color:var(--green);display:grid;place-items:center;flex-shrink:0;border-radius:50%;width:39px;height:39px;font-weight:700}.count{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;background:var(--purple);border-radius:20px;color:#fff;font-size:11px}.app-shell{display:flex;max-width:1800px;margin:auto}.app-shell>aside{width:235px;flex-shrink:0;background:#fcfdf9;border-right:1px solid var(--line);padding:29px 18px;min-height:calc(100vh - 130px)}.account{padding:0 12px 24px;border-bottom:1px solid var(--line);margin-bottom:20px}.account strong{display:block;margin:7px 0;font-size:16px}.eyebrow{font-size:10px;color:var(--green);font-weight:700;letter-spacing:.14em;text-transform:uppercase}.account .eyebrow{font-size:10px}nav a{display:flex;align-items:center;gap:12px;text-decoration:none;border-radius:10px;padding:11px 13px;font-size:14px;margin-bottom:5px;color:#4e6255}nav a span{width:18px;font-size:20px;color:#63856e}nav a.active{background:var(--mint);font-weight:700;color:#234d30}nav a:hover{background:#f0f5ec}.switch{display:block;margin:25px 12px 12px;font-size:13px;color:var(--purple);font-weight:700;text-decoration:none}.quiet{border:0;background:transparent;color:var(--green);font-size:13px;padding:7px 12px;font-weight:700}.app-main{padding:36px 40px;flex:1;min-width:0;max-width:1450px}.no-sidebar{max-width:1250px;margin:auto;width:100%}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.btn{display:inline-flex;justify-content:center;align-items:center;text-decoration:none;border:1px solid var(--purple);background:var(--purple);color:#fff8ff;border-radius:10px;font-weight:700;padding:12px 20px;min-height:46px;font-size:14px;gap:8px}.btn:hover{background:#7c1d80}.btn.outline{background:transparent;color:var(--ink);border-color:#bdcdb6}.btn.outline:hover{background:var(--mint)}.btn.small{font-size:12px;min-height:38px;padding:8px 13px}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.danger{background:#a3443b;border-color:#a3443b}.danger-text{color:#a3443b}.full-width{width:100%}.panel{border:1px solid var(--line);background:#fcfdf9;border-radius:17px;padding:26px;margin-bottom:24px;min-width:0}.alert{padding:15px 20px;border:1px solid #dacfe1;border-left:4px solid #ac7ab0;border-radius:9px;background:#f3edf4;color:#63456a;font-size:14px;margin-bottom:22px}.alert.success{background:#eaf3e4;color:#315f39;border-color:#cbdcbe;border-left-color:#4d895a}.alert.error{background:#fbeee9;color:#954735;border-color:#e3c4b6;border-left-color:#b5654e}.muted{color:var(--muted)}.subtle{color:var(--muted);font-size:12px;margin-top:16px}.text-link{color:var(--purple);font-weight:700;text-decoration:none;font-size:13px}.text-link:hover{text-decoration:underline}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.stack{display:grid;gap:18px}.stack>.btn{justify-self:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}label{font-weight:600;font-size:13px;display:block}input:not([type=checkbox]),select,textarea{display:block;width:100%;background:#fffefa;border:1px solid #bbcab4;color:var(--ink);border-radius:8px;padding:11px 12px;margin-top:7px;min-height:44px}textarea{resize:vertical;max-width:100%}input[readonly]{background:#edf1e8;color:#687267}.checkbox{display:flex;gap:10px;align-items:center;font-weight:400}.checkbox input{accent-color:var(--purple);width:17px;height:17px}.two-column{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,1fr);gap:25px}.two-column>.panel{align-self:start}.two-column>section>.panel{width:100%}.price-panel{align-self:start}.price-item{display:flex;gap:15px;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid var(--line);font-size:13px}.price-item.total{font-size:18px;color:var(--green);padding:20px 0}.price-item strong{white-space:nowrap}.welcome-card{background:var(--mint);border:1px solid #d0dfc6;padding:28px 35px;border-radius:18px;display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:25px}.welcome-card h2{font-size:30px;margin-top:10px;margin-bottom:12px}.welcome-card p{color:#5a6e55;margin:0;max-width:600px}.welcome-art{font:110px/1 Georgia;color:#7fa56b;transform:rotate(-15deg)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin:0 0 25px}.stat{background:#fcfdf9;border:1px solid var(--line);padding:20px 23px;border-radius:14px;min-width:0}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{font:400 33px 'Libre Baskerville';display:block;margin-top:12px}.report-stats{grid-template-columns:repeat(3,1fr)}.report-stats .stat strong{font-size:27px}.attention{background:#f3eee3;border-color:#dfd1b4}.section-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.section-title h2{margin:0}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:#f1f5ec;font-weight:600;padding:12px 10px}td{padding:17px 10px;border-bottom:1px solid var(--line);vertical-align:middle}td strong{font-size:13px}td small{margin-top:5px;font-size:11px}tr:last-child td{border-bottom:0}.tag{display:inline-block;padding:4px 10px;background:#eef1e9;color:#5d6c51;border-radius:20px;font-size:10px;font-weight:700;white-space:nowrap}.tag.completed,.tag.approved,.tag.succeeded,.tag.paid{background:#e6f1de;color:#397249}.tag.booked{background:#e1eef2;color:#2d6f85}.tag.pending,.tag.payment_pending,.tag.in_progress{background:#f5ead5;color:#967332}.tag.failed,.tag.disputed,.tag.blocked,.tag.refunded,.tag.cancelled,.tag.reversed{background:#f5e3df;color:#a05b4e}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.chip{padding:8px 14px;border:1px solid var(--line);border-radius:24px;font-size:12px;text-decoration:none;background:#fcfdf9}.chip.selected,.chip:hover{background:var(--mint);border-color:#b6cea8;color:#376a40}.provider-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:23px}.provider-card{overflow:hidden}.portrait{display:block;width:100%;height:190px;object-fit:cover;background:#e7eee0;border-radius:10px;margin-bottom:20px}.provider-heading{display:flex;gap:10px;justify-content:space-between;align-items:center}.provider-heading h2{font-size:21px;margin:8px 0 15px}.rating{font-size:12px;color:#89732b;white-space:nowrap}.provider-card p{font-size:13px}.offer{border-top:1px solid var(--line);padding:16px 0;display:flex;gap:15px;justify-content:space-between;font-size:13px}.offer small{margin-top:7px;font-size:10px}.profile-link{display:block;text-align:center;margin-top:17px}.availability-list{display:flex;gap:8px;flex-wrap:wrap}.availability-list span{font-size:11px;background:#edf4e5;border-radius:6px;padding:5px 9px}blockquote{margin:15px 0;padding:15px;border-left:3px solid #b2c99e;background:#f2f6ed;font-size:13px}blockquote p{margin-top:12px;margin-bottom:0}.login-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:55px;max-width:1000px;margin:auto}.login-layout>.panel{align-self:start}.login-layout h2{margin-top:12px}.demo-accounts{display:grid;gap:10px}.demo-person{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:#fcfdf9;border-radius:12px;padding:12px}.demo-person>div{flex:1}.demo-person strong{font-size:13px}.demo-person small{font-size:11px}.empty{padding:35px;text-align:center;background:#eff4e9;border-radius:12px;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.detail-grid strong,.detail-grid span{display:block;font-size:14px}.detail-grid small{margin-bottom:5px}.ledger-item{display:flex;justify-content:space-between;align-items:center;padding:15px 0;border-bottom:1px solid var(--line);font-size:12px}.ledger-item small{font-size:10px;word-break:break-all}.ledger-item strong{font-size:12px}.hours{margin:22px 0}.task-list{list-style:none;padding:0;font-size:14px;color:var(--green)}.task-list li{padding:6px 0}hr{border:0;border-top:1px solid var(--line);margin:25px 0}fieldset{border:1px solid var(--line);border-radius:9px;padding:16px}legend{font-size:13px;font-weight:700}fieldset label{padding:8px 0}details summary{cursor:pointer;font-weight:700;font-size:14px}details form{margin-top:20px}details[open] summary{margin-bottom:20px}.family-card{padding:20px 0;border-bottom:1px solid var(--line)}.family-card strong{display:block}.family-card p{font-size:13px;margin:10px 0}.notification{padding:22px 0;border-bottom:1px solid var(--line)}.notification:last-child{border:0}.notification h3{margin:9px 0}.notification p{font-size:14px;color:var(--muted)}.notification.unread{border-left:3px solid var(--purple);padding-left:20px}.availability-row{margin:0;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}.management-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.management-grid .panel{margin:0}.calendar-scroll{overflow-x:auto}.calendar-grid{min-width:700px;display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.day-label{background:#edf3e6;text-align:center;padding:12px;font-size:12px}.day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);padding:9px;min-height:120px}.day.outside{background:#f2f4ee;color:#9da69a}.day.today{background:#eff5e9;box-shadow:inset 0 0 0 2px #a9c197}.day-number{font-size:12px;font-weight:700}.calendar-event{display:block;background:#e3ebdb;border-left:3px solid #5f8e44;border-radius:5px;padding:7px;margin-top:7px;text-decoration:none;font-size:10px;line-height:1.4}.calendar-event.vendor{background:#f0e5f0;border-left-color:#a363a2}.calendar-event strong,.calendar-event span{display:block}.calendar-event small{font-size:9px}.app-footer{font-size:11px;color:#6a7b63;border-top:1px solid var(--line);margin-top:35px;padding-top:20px;line-height:1.8}.app-footer span{color:#8c9685}.skip{position:absolute;left:-999px}.skip:focus{left:20px;top:10px;background:#fff;padding:15px;z-index:5}@media(min-width:1500px){.app-main{padding:42px 55px}.provider-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1150px){.app-main{padding:28px 25px}.app-shell>aside{width:210px;padding:24px 12px}.provider-grid{grid-template-columns:repeat(2,1fr)}.stats{grid-template-columns:repeat(2,1fr)}.two-column{grid-template-columns:1fr}.two-column>section{min-width:0}.price-panel{order:-1}.login-layout{gap:25px}}@media(max-width:760px){.demo-banner{font-size:10px;padding:8px 15px}.app-header{height:auto;min-height:78px;padding:15px 20px;gap:15px;flex-wrap:wrap}.brand{font-size:20px}.brand img{width:38px;height:38px}.header-actions{gap:16px}.app-shell{display:block}.app-shell>aside{width:100%;min-height:0;padding:12px 18px;border-bottom:1px solid var(--line);border-right:0}.account{padding:0 5px 10px;margin:0;border:0}.account small{display:none}.account strong{display:inline;margin-left:10px;font-size:13px}.account .eyebrow{font-size:9px}nav{display:flex;overflow:auto;gap:8px;padding-top:10px}nav a{white-space:nowrap;padding:8px 10px;font-size:12px}nav a span{font-size:17px}.switch{display:inline-block;margin:6px 12px;font-size:11px}.app-shell>aside>form{display:inline-block}.app-main{padding:25px 18px}.page-heading{display:block}h1{font-size:29px}.page-heading>.btn{margin-top:18px}.welcome-card{padding:25px}.welcome-card h2{font-size:26px}.welcome-art{display:none}.panel{padding:21px}.login-layout,.provider-grid,.management-grid,.form-grid{grid-template-columns:1fr}.report-stats{grid-template-columns:repeat(2,1fr)}.stat{padding:18px}.stat strong{font-size:28px}.report-stats .stat strong{font-size:23px}.section-title{align-items:start;flex-wrap:wrap}.section-title h2{font-size:22px}.detail-grid{grid-template-columns:1fr}.header-actions>a{font-size:12px}.portrait{height:220px}.two-column{gap:0}.login-layout{gap:20px}}@media print{.demo-banner,.app-header,.app-shell>aside,.page-heading,form,.app-footer,.btn{display:none}.app-main{padding:0}.panel{break-inside:avoid}.two-column{grid-template-columns:1fr 1fr}}
