:root{color:#1a2723;--ink:#17231f;--forest:#214d40;--green:#2d725e;--mint:#dcebe4;--lime:#d6f06c;--paper:#f4f6f2;--white:#fff;--muted:#75827d;--line:#dce3de;--danger:#a9443a;font-synthesis:none;background:#f4f6f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.brand{align-items:center;gap:11px;display:flex}.brand>span{background:var(--lime);width:38px;height:38px;color:var(--ink);border-radius:11px 11px 11px 3px;place-items:center;font:800 23px Georgia,serif;display:grid}.brand b,.brand small{display:block}.brand b{letter-spacing:-.5px;font-size:17px}.brand small{letter-spacing:1.8px;color:#96a29d;margin-top:3px;font-size:7px}.eyebrow{color:var(--green);letter-spacing:2.2px;margin:0 0 9px;font-size:9px;font-weight:800}.primary{background:var(--ink);color:#fff;border:0;border-radius:7px;justify-content:center;align-items:center;gap:12px;min-height:45px;padding:0 18px;font-size:11px;font-weight:700;transition:transform .2s,background .2s;display:inline-flex}.primary:hover{background:var(--forest);transform:translateY(-1px)}.primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.login-page{grid-template-columns:1.05fr .95fr;min-height:100vh;display:grid}.login-story{background:var(--ink);color:#fff;flex-direction:column;justify-content:space-between;padding:60px 6vw 45px;display:flex;position:relative;overflow:hidden}.login-story:before,.login-story:after{content:"";border:1px solid #d6f06c29;border-radius:50%;width:600px;height:600px;position:absolute;bottom:-260px;right:-180px}.login-story:after{width:370px;height:370px;bottom:-145px;right:-65px}.login-story .brand{z-index:1;position:relative}.login-story .brand small{color:#8ca096}.login-story>div{z-index:1;position:relative}.login-story h1{letter-spacing:-4px;margin:0;font:500 clamp(60px,7vw,105px)/.94 Georgia,serif}.login-story h1 em{color:var(--lime);font-weight:inherit}.login-story>div>p:last-child{color:#aebbb5;max-width:480px;font-size:15px;line-height:1.7}.login-story>small{color:#768b82;letter-spacing:1.6px;z-index:1;font-size:9px}.login-panel{background:#fff;place-items:center;padding:40px;display:grid}.login-panel form{width:min(410px,100%)}.login-panel h2{letter-spacing:-2px;margin:0 0 11px;font:500 45px Georgia,serif}.login-panel form>p:not(.eyebrow){color:var(--muted);margin:0 0 35px}.login-panel label{color:#4f5f59;margin:17px 0;font-size:10px;font-weight:700;display:block}.login-panel input{border:1px solid var(--line);border-radius:6px;outline:none;width:100%;height:50px;margin-top:8px;padding:0 14px}.login-panel input:focus{border-color:var(--green);box-shadow:0 0 0 3px #2d725e1a}.login-panel .primary{width:100%;min-height:52px;margin-top:12px}.app-shell{grid-template-columns:265px 1fr;min-height:100vh;display:grid}aside{background:var(--ink);color:#fff;z-index:20;flex-direction:column;height:100vh;min-height:100vh;padding:29px 18px 20px;display:flex;position:sticky;top:0}aside>.brand{margin-bottom:32px;padding:0 10px}.tenant-picker{background:#22322c;border:1px solid #31463e;border-radius:9px;margin-bottom:25px;padding:15px}.tenant-picker>small{color:#7e938a;letter-spacing:1.7px;margin-bottom:7px;font-size:7px;display:block}.tenant-picker select{color:#fff;background:0 0;border:0;outline:0;width:100%;padding:0;font-size:11px;font-weight:700}.tenant-picker select option{color:#000}.tenant-picker>span{color:#a6b3ad;margin-top:7px;font-size:8px;display:block}aside nav{flex-direction:column;gap:3px;display:flex;overflow-y:auto}.app-shell aside nav button{color:#a9b8b2;text-align:left;background:0 0;border:0;border-radius:7px;align-items:center;gap:13px;height:46px;padding:0 13px;font-size:10px;display:flex}.app-shell aside nav button:hover{color:#fff;background:#22332d}.app-shell aside nav button.active{background:var(--lime);color:var(--ink);font-weight:700}.sidebar-user{border-top:1px solid #2b3d36;grid-template-columns:36px 1fr 30px;align-items:center;gap:9px;margin-top:auto;padding:18px 7px 0;display:grid}.sidebar-user>span{width:34px;height:34px;color:var(--lime);background:#31473e;border-radius:50%;place-items:center;font-weight:700;display:grid}.sidebar-user b,.sidebar-user small{text-overflow:ellipsis;white-space:nowrap;max-width:120px;display:block;overflow:hidden}.sidebar-user b{font-size:9px}.sidebar-user small{color:#85958f;margin-top:4px;font-size:7px}.sidebar-user button{color:#8ea098;background:0 0;border:0;padding:4px}.main-column{min-width:0}.mobile-header{display:none}.content{max-width:1500px;margin:auto;padding:48px clamp(25px,4vw,65px) 80px}.page-header{justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px;display:flex}.page-header h1{letter-spacing:-2.4px;margin:0 0 9px;font:500 clamp(38px,4vw,55px) Georgia,serif}.page-header>div>p:last-child{color:var(--muted);margin:0;font-size:12px}.stats{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:25px;display:grid}.stats article{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:1fr 28px;align-items:center;min-height:128px;padding:20px;display:grid}.stats article span{color:var(--muted);font-size:9px;font-weight:600}.stats article b{font:500 36px Georgia,serif}.stats article svg{width:23px;color:var(--green);grid-area:1/2/3}.panel{border:1px solid var(--line);background:#fff;border-radius:10px}.panel-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:85px;padding:20px 25px;display:flex}.panel-title h2{margin:0;font:500 23px Georgia,serif}.icon-button{border:1px solid var(--line);width:39px;height:39px;color:var(--green);background:#fff;border-radius:7px;place-items:center;display:grid}.rows .row{border-bottom:1px solid #edf0ed;align-items:center;gap:17px;min-height:75px;padding:10px 25px;display:flex}.rows .row:last-child{border:0}.date-tile{background:var(--mint);border-radius:6px;align-content:center;place-items:center;width:43px;height:48px;display:grid}.date-tile b{font:600 18px Georgia,serif}.date-tile small{color:var(--green);text-transform:uppercase;font-size:7px}.grow{flex:1}.row .grow b,.row .grow small{display:block}.row .grow b{font-size:10px}.row .grow small{color:var(--muted);margin-top:4px;font-size:8px}.row>span:not(.status){color:#52635c;font-size:9px}.status{color:#5e6a65;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap;background:#e9eeeb;border-radius:99px;justify-content:center;align-items:center;padding:6px 9px;font-size:7px;font-weight:800;display:inline-flex}.status-active,.status-confirmed,.status-approved,.status-completed{color:#28644f;background:#e0f0e7}.status-pending{color:#7b5b05;background:#fff1c9}.status-inactive,.status-cancelled,.status-rejected,.status-expired,.status-no_show{color:#8b4037;background:#f4e4e1}.loading{min-height:260px;color:var(--muted);align-content:center;place-items:center;gap:13px;display:grid}.loading.full{min-height:100vh}.loading>span{border:3px solid #d7e0db;border-top-color:var(--green);border-radius:50%;width:28px;height:28px;animation:.75s linear infinite spin}.loading p{letter-spacing:1.2px;text-transform:uppercase;font-size:9px}.notice{color:#8a3c33;background:#f4e3df;border-radius:7px;justify-content:space-between;align-items:center;gap:15px;min-height:46px;margin:15px 0;padding:11px 14px;font-size:10px;display:flex}.notice.success{color:#265f4b;background:#e0f0e7}.notice button{color:inherit;background:0 0;border:0}.notice svg{width:16px}.empty-state{text-align:center;color:var(--muted);padding:55px 20px}.empty-state>span{color:#bdc8c3;font:500 35px Georgia,serif}.empty-state p{font-size:10px}.toolbar{justify-content:space-between;gap:15px;margin-bottom:18px;display:flex}.filters{flex-wrap:wrap;gap:6px;display:flex}.filters button{border:1px solid var(--line);color:#697872;background:#fff;border-radius:99px;min-height:38px;padding:0 15px;font-size:8px;font-weight:700}.filters button.active{background:var(--ink);border-color:var(--ink);color:#fff}.table-panel{overflow:hidden}.table{width:100%;overflow-x:auto}.table-head,.table-row{grid-template-columns:1.15fr 1fr 1fr .65fr 1.1fr;align-items:center;gap:15px;min-width:850px;padding:0 22px;display:grid}.table-head{color:#82908a;letter-spacing:1.1px;text-transform:uppercase;background:#f7f9f7;height:48px;font-size:7px;font-weight:800}.table-row{border-top:1px solid #edf0ee;min-height:68px;font-size:9px}.table-row b{font-size:9px}.row-actions{justify-content:flex-end;gap:5px;display:flex}.row-actions button{border:1px solid var(--line);background:#fff;border-radius:5px;align-items:center;gap:5px;padding:7px 8px;font-size:7px;display:flex}.row-actions button.approve{background:var(--forest);color:#fff;border-color:var(--forest)}.row-actions svg{width:13px}.appointment-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.appointment-card{border:1px solid var(--line);background:#fff;border-radius:10px;padding:20px;position:relative}.appointment-time{color:var(--green);justify-content:space-between;display:flex}.appointment-time b{font-size:9px}.appointment-time strong{font:500 19px Georgia,serif}.appointment-card>.status{margin:23px 0 14px}.appointment-card h3{margin:0 0 7px;font:500 21px Georgia,serif}.appointment-card>p{min-height:30px;color:var(--muted);font-size:9px;line-height:1.5}.card-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:5px;margin-top:18px;padding-top:14px;display:flex}.card-actions button{border:1px solid var(--line);background:#fff;border-radius:5px;align-items:center;gap:5px;padding:7px 9px;font-size:7px;display:flex}.card-actions button:first-child{background:var(--forest);border-color:var(--forest);color:#fff}.card-actions button.danger{color:var(--danger)}.card-actions svg{width:13px}.catalog-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.catalog-grid article{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:68px 1fr;gap:17px;padding:18px;display:grid;position:relative}.catalog-number{background:var(--ink);width:68px;height:68px;color:var(--lime);border-radius:8px;place-items:center;font:500 22px Georgia,serif;display:grid}.catalog-copy h3{margin:11px 0 6px;font:500 20px Georgia,serif}.catalog-copy>p{color:var(--muted);min-height:27px;font-size:9px;line-height:1.5}.catalog-copy>div{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;display:flex}.catalog-copy>div span{color:#5e6d67;align-items:center;gap:7px;font-size:8px;display:flex}.catalog-copy>div svg{width:14px}.catalog-copy>div strong{font-size:10px}.edit-link{color:var(--green);background:0 0;border:0;align-items:center;font-size:8px;display:flex;position:absolute;top:17px;right:17px}.edit-link svg{width:13px}.team-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.team-grid article{border:1px solid var(--line);text-align:center;background:#fff;border-radius:10px;padding:24px}.avatar{background:var(--ink);width:68px;height:68px;color:var(--lime);border-radius:50%;place-items:center;margin:0 auto 14px;font:500 20px Georgia,serif;display:grid}.team-grid h3{margin:14px 0 5px;font:500 20px Georgia,serif}.team-grid p{color:var(--green);font-size:8px;font-weight:700}.team-grid small{color:var(--muted);font-size:8px;display:block}.team-grid button{border:1px solid var(--line);color:var(--green);background:#fff;border-radius:6px;margin-top:19px;padding:8px 12px;font-size:8px}.text-button{color:var(--green);background:0 0;border:0;font-size:8px;font-weight:700}.table-head.clients,.table-row.clients{grid-template-columns:1.1fr 1fr .8fr .5fr .4fr}.professional-select{border:1px solid var(--line);background:#fff;border-radius:9px;margin-bottom:16px;padding:18px}.professional-select label{color:#596a63;font-size:8px;font-weight:700}.professional-select select{border:1px solid var(--line);border-radius:5px;min-width:260px;height:40px;margin-left:14px;padding:0 10px}.schedule{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.schedule article{border-bottom:1px solid var(--line);grid-template-columns:220px 1fr;min-height:90px;display:grid}.schedule article:last-child{border:0}.schedule article>div:first-child{background:#f8faf8;align-items:center;gap:17px;padding:20px 25px;display:flex}.schedule article>div:first-child span{color:var(--green);font:500 17px Georgia,serif}.schedule h3{margin:0;font:500 19px Georgia,serif}.schedule article>div:last-child{flex-wrap:wrap;align-items:center;gap:9px;padding:15px 20px;display:flex}.time-rule{border:1px solid var(--line);border-radius:7px;grid-template-columns:1fr 25px;min-width:175px;min-height:52px;padding:8px 10px;display:grid}.time-rule b,.time-rule small{display:block}.time-rule b{font-size:9px}.time-rule small{color:var(--muted);margin-top:4px;font-size:7px}.time-rule button{color:var(--danger);background:0 0;border:0;grid-area:1/2/3;padding:0}.time-rule svg{width:14px}.day-off{color:#a0aaa5;font-size:9px}.settings-panel{padding:28px}.settings-form{grid-template-columns:1fr 1fr;gap:18px;max-width:820px;display:grid}.settings-form label,.modal-form label{color:#53645d;text-transform:uppercase;letter-spacing:.7px;font-size:8px;font-weight:700}.settings-form label.wide,.modal-form label.wide,.settings-form .wide,.modal-form .wide{grid-column:1/-1}.settings-form input,.settings-form select,.modal-form input,.modal-form select,.modal-form textarea{border:1px solid var(--line);width:100%;color:var(--ink);resize:vertical;background:#fff;border-radius:6px;outline:none;margin-top:7px;padding:11px 12px}.settings-form input:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #2d725e1a}.toggle{border:1px solid var(--line);border-radius:7px;align-items:center;gap:12px;min-height:65px;padding:12px;display:flex}.toggle input{display:none}.toggle>span{background:#b8c2bd;border-radius:99px;width:40px;height:22px;position:relative}.toggle>span:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:3px;left:3px}.toggle input:checked+span{background:var(--green)}.toggle input:checked+span:after{left:21px}.toggle b,.toggle small{text-transform:none;display:block}.toggle small{color:var(--muted);margin-top:4px;font-weight:400}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0c181399;place-items:center;padding:25px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;width:min(670px,100%);max-height:calc(100vh - 40px);overflow-y:auto;box-shadow:0 30px 90px #0000003d}.modal-title{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:75px;padding:18px 24px;display:flex}.modal-title h2{margin:0;font:500 25px Georgia,serif}.modal-title button{background:#edf2ef;border:0;border-radius:50%;place-items:center;width:36px;height:36px;display:grid}.modal-title svg{width:16px}.modal-form{grid-template-columns:1fr 1fr;gap:18px;padding:24px;display:grid}.modal-form label.check{text-transform:none;align-items:center;gap:9px;display:flex}.modal-form label.check input{width:auto;accent-color:var(--green);margin:0}.config-error,.no-context{text-align:center;place-content:center;justify-items:center;gap:20px;min-height:100vh;padding:25px;display:grid}.config-error h1,.no-context h1{margin:15px 0 0;font:500 37px Georgia,serif}.config-error p,.no-context p{color:var(--muted)}.config-error>button,.no-context>button{background:var(--ink);color:#fff;border:0;border-radius:6px;padding:13px 18px}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.stats,.appointment-grid,.team-grid{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:1fr}}@media (width<=780px){.login-page{grid-template-columns:1fr}.login-story{display:none}.login-panel{min-height:100vh;padding:25px}.app-shell{display:block}.app-shell aside{height:auto;min-height:0;transition:transform .25s;position:fixed;inset:70px 0 0;transform:translate(-100%)}.app-shell aside.open{transform:translate(0)}.app-shell aside>.brand{display:none}.mobile-header{background:var(--ink);color:#fff;z-index:25;justify-content:space-between;align-items:center;height:70px;padding:0 18px;display:flex;position:sticky;top:0}.mobile-header>button{background:0 0;border:0;width:42px}.mobile-header>button span{border-top:1px solid #fff;margin:7px;display:block}.content{padding:32px 16px 60px}.page-header{align-items:flex-start}.page-header h1{font-size:39px}.stats{grid-template-columns:1fr 1fr}.appointment-grid,.team-grid{grid-template-columns:1fr}.schedule article{grid-template-columns:140px 1fr}.settings-form{grid-template-columns:1fr}.settings-form label.wide,.settings-form .wide{grid-column:1}}@media (width<=520px){.page-header{flex-direction:column}.page-header .primary{width:100%}.stats{grid-template-columns:1fr}.stats article{min-height:100px}.filters{flex-wrap:nowrap;padding-bottom:5px;overflow-x:auto}.toolbar>.icon-button{flex:0 0 39px}.catalog-grid article{grid-template-columns:55px 1fr}.catalog-number{width:55px;height:55px}.professional-select label{display:block}.professional-select select{width:100%;min-width:0;margin:9px 0 0}.schedule article{grid-template-columns:1fr}.schedule article>div:first-child{padding:14px 18px}.modal-backdrop{padding:8px}.modal-form{grid-template-columns:1fr}.modal-form label.wide,.modal-form .wide{grid-column:1}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important}}
