@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600;650;700&family=Manrope:wght@500;600;650;700;750;800&display=swap');
:root{font-family:'DM Sans',Arial,sans-serif;color:#382D35;background:#FFF8F5;font-synthesis:none;--ink:#382D35;--muted:#786B70;--green:#B95748;--line:#EADDD8;--sidebar:#382D35}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #B95748;outline-offset:3px}button{border:0}a{color:var(--green)}svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Manrope,Arial,sans-serif}h1{font-size:28px;letter-spacing:-1px;font-weight:800}h2{font-size:18px;font-weight:750;letter-spacing:-.3px}h3{font-size:16px;font-weight:750}small{font-size:13px}.shell{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:236px;background:var(--sidebar);color:#EAD8DE;display:flex;flex-direction:column;padding:32px 20px 20px;z-index:30}.brand{display:flex;align-items:center;gap:11px;padding:0 10px;color:white}.brand-mark{background:#F7DCD5;color:#382D35;width:38px;height:38px;display:grid;place-items:center;border-radius:12px;font-family:Manrope;font-size:25px;font-weight:800}.brand-name{font-size:19px;letter-spacing:-.5px;font-weight:700}.brand-name small{display:block;font-size:11px;letter-spacing:2px;color:#E4C7C1;margin-top:2px}.clinic-mini{margin:33px 6px 22px;border-bottom:1px solid #604C58;padding:0 4px 23px}.clinic-mini small{display:block;color:#D0AFB7;margin-bottom:7px;font-size:12px;text-transform:uppercase;letter-spacing:1.1px}.clinic-mini strong{font-size:14px;font-weight:500}.nav-label{font-size:11px;letter-spacing:1.5px;color:#D0AFB7;padding:5px 12px 10px}.nav{display:grid;gap:5px}.nav button{background:none;color:#EAD8DE;border-radius:8px;display:flex;align-items:center;gap:13px;text-align:left;padding:12px 13px;font-size:14px;font-weight:500}.nav button:hover{background:#513E49;color:white}.nav button.active{background:#F7DCD5;color:#63372F}.nav .count{margin-left:auto;font-size:12px;border-radius:5px;padding:2px 6px;background:#ffffff1c}.side-bottom{margin-top:auto;padding-top:35px}.side-bottom button{display:flex;gap:10px;background:none;color:#EAD8DE;padding:10px 12px;font-size:14px}.maker{border-top:1px solid #604C58;padding:18px 10px 0;font-size:12px;color:#D0AFB7;line-height:1.6}.maker strong{font-size:13px;color:#F9E9E6;display:block}.workspace{grid-column:2}.topbar{height:77px;padding:0 36px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.crumb{font-size:14px;color:#75828c}.crumb strong{color:#493D46;font-weight:500}.top-actions{display:flex;align-items:center;gap:18px}.demo-badge{font-size:12px;background:#eef4f6;color:#526c7c;border:1px solid #dce6ec;padding:6px 11px;border-radius:20px;white-space:nowrap}.avatar{width:36px;height:36px;border-radius:50%;display:inline-flex;justify-content:center;align-items:center;font-weight:700;font-size:12px;background:#e9e2f5;color:#7356a8;flex-shrink:0}.avatar.green{background:#dcefe8;color:#438370}.avatar.blue{background:#e2eef8;color:#5484aa}.avatar.orange{background:#f7e7db;color:#b0784b}.user{display:flex;gap:10px;align-items:center;font-size:13px}.user small{display:block;color:var(--muted);font-size:11px}.content{max-width:1590px;margin:auto;padding:30px 36px 35px}.page-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:25px}.page-heading p{font-size:14px;color:var(--muted);margin-top:7px}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;font-size:11px;color:var(--green);margin-bottom:8px;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;min-height:41px;padding:10px 15px;background:#fff;border:1px solid #EADDD8;color:#53454F;font-size:14px;font-weight:600;text-decoration:none}.btn:hover{background:#FFF1EB}.btn.primary{background:var(--green);border-color:var(--green);color:#fff;box-shadow:0 3px 5px #B9574810}.btn.primary:hover{background:#984638}.btn.soft{background:#FBE8E1;color:#984638;border-color:#FBE8E1}.btn.danger{color:#af4457;background:#fff5f5;border-color:#f0d4da}.btn.sm{font-size:12px;min-height:32px;padding:6px 10px}.btn.text{border-color:transparent;background:none;padding:6px 0;color:var(--green)}.icon-btn{display:inline-grid;place-items:center;background:none;color:#758792;padding:7px;border-radius:7px}.icon-btn:hover{background:#ecf3f4}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px;position:relative}.stat-label{font-size:13px;color:#6c7d89;margin-bottom:15px}.stat-value{font-family:Manrope;font-size:27px;letter-spacing:-1px;font-weight:750}.stat-info{font-size:12px;color:#82919b;margin-top:10px}.stat-icon{position:absolute;right:18px;top:17px;background:#FBE8E1;color:#B95748;border-radius:9px;padding:9px;display:grid;place-items:center}.stat-icon.purple{color:#8a6fb7;background:#f2edfa}.stat-icon.blue{color:#5b8bb6;background:#eef4fa}.stat-icon.orange{color:#c89158;background:#faf1e7}.cols{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:23px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.panel-head{padding:20px 22px;border-bottom:1px solid #edf0f2;display:flex;align-items:center;justify-content:space-between;gap:10px}.panel-head p{color:var(--muted);font-size:13px;margin-top:5px}.panel-body{padding:22px}.filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:15px 22px;border-bottom:1px solid var(--line)}.filters input,.filters select{width:auto;min-height:36px;font-size:13px}.filters .search{flex:1;min-width:190px}.search{position:relative}.search svg{position:absolute;left:12px;top:11px;width:17px;color:#93a0aa}.search input{padding-left:37px}.chip{display:inline-flex;align-items:center;border-radius:6px;padding:5px 8px;font-size:12px;white-space:nowrap;font-weight:500;background:#edf1f5;color:#5d7485}.chip.green{background:#e6f5ed;color:#338968}.chip.blue{background:#eaf1fb;color:#517fa9}.chip.purple{background:#f0ebf7;color:#8162ac}.chip.orange{background:#fcf0e1;color:#b58035}.chip.red{background:#fbe9ed;color:#b65f71}.status-dot{height:5px;width:5px;background:currentColor;border-radius:50%;margin-right:5px}.date-control{display:flex;align-items:center;gap:7px}.date-control input{padding:7px 9px;width:145px;font-size:13px}.appointment{display:grid;grid-template-columns:56px minmax(0,1fr) 100px;gap:15px;padding:17px 22px;border-bottom:1px solid #edf1f3;align-items:center;cursor:pointer}.appointment:hover{background:#fafcfd}.appointment:last-child{border:0}.time{font-family:Manrope;font-size:14px;font-weight:750;color:#344d5d}.time small{display:block;font-family:'DM Sans';font-size:11px;color:#91a0aa;font-weight:400;margin-top:4px}.appt-main{display:flex;gap:12px;align-items:center;min-width:0}.appt-name{font-size:14px;font-weight:600}.appt-service{font-size:12px;color:#7c8d99;margin-top:4px}.appt-end{text-align:right}.appt-end small{display:block;color:#84929e;margin-top:6px;font-size:11px}.today-progress{padding:20px 22px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);display:flex;gap:15px;align-items:center}.progress{height:5px;background:#e8eeef;border-radius:5px;overflow:hidden;flex:1}.progress span{height:100%;background:#70b9a6;display:block}.right-stack{display:grid;gap:20px}.next-card{background:#eaf4f1;border-color:#d9ebe5}.next-card .panel-head{border-color:#dceae5}.next-card .big-time{font-family:Manrope;font-size:29px;color:#28665d;font-weight:700;margin:17px 0 13px}.next-card .sub{font-size:13px;color:#6a8a83;margin-bottom:18px}.next-card .btn{width:100%}.people-row{display:flex;align-items:center;gap:11px;padding:11px 0;font-size:13px}.people-row .meta{flex:1}.people-row small{display:block;font-size:11px;color:#88959f;margin-top:3px}.alert-row{font-size:13px;display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef1f3}.alert-row:last-child{border:0}.note-demo{display:flex;gap:10px;align-items:center;font-size:12px;color:#7d909a;margin-top:24px}.note-demo svg{width:15px}.toolbar{display:flex;gap:12px;align-items:center;margin-bottom:20px;flex-wrap:wrap}.toolbar .search{min-width:220px;flex:1}.toolbar select{width:auto;max-width:250px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap;text-align:left;font-size:14px}th{font-size:11px;text-transform:uppercase;letter-spacing:.8px;color:#8a99a4;background:#fafcfd;font-weight:600;padding:15px 20px;border-bottom:1px solid var(--line)}td{padding:17px 20px;border-bottom:1px solid #edf1f3}tr:last-child td{border:0}td small{display:block;color:var(--muted);font-size:12px;margin-top:3px}.client-cell{display:flex;align-items:center;gap:12px}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{padding:21px;border:1px solid var(--line);background:#fff;border-radius:12px;display:flex;flex-direction:column;gap:14px}.service-card h3{min-height:42px;line-height:1.4}.service-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:#87959f}.service-price{color:#345969;font-weight:700;font-size:18px}.category-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tab-pill{padding:8px 12px;border-radius:7px;color:#71828e;background:#fff;border:1px solid #e0e7eb;font-size:13px}.tab-pill.active{background:#e3f2ec;color:#267363;border-color:#bde0d3}.empty{text-align:center;padding:48px 24px;color:#82939f;font-size:14px}.empty h3{margin-bottom:9px;color:#4c6472}.list-meta{font-size:12px;color:#81909a;margin-bottom:16px}.pack-card{padding:22px}.pack-card p{font-size:13px;color:var(--muted);margin:8px 0 20px}.pack-bottom{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-top:12px}.pack-card .progress{height:7px;margin:10px 0}.pack-count{font-size:22px;font-weight:700;color:#315d64}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.profile-card{padding:25px}.profile-card .avatar{width:52px;height:52px;font-size:17px}.profile-card h3{margin:14px 0 6px}.profile-card p{font-size:13px;color:var(--muted);line-height:1.7}.profile-card .category-tabs{margin:19px 0 0}.profile-card .chip{white-space:normal}.profile-data{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:20px 0}.profile-data span{font-size:12px;color:var(--muted);display:block;margin-bottom:4px}.profile-data strong{font-size:14px;font-weight:500}.history-row{padding:13px 0;border-bottom:1px solid var(--line);font-size:14px}.history-row small{display:block;color:var(--muted);font-size:12px;margin-top:5px}.box-note{padding:15px;background:#f5f8fa;border-radius:8px;font-size:14px;line-height:1.6;color:#657a86;margin:14px 0}.balance{font-size:28px;font-weight:700;letter-spacing:-.8px}.settings{max-width:680px}.setting-row{padding:20px 0;border-bottom:1px solid var(--line)}.setting-row h3{margin-bottom:8px}.setting-row p{font-size:14px;color:var(--muted);line-height:1.7}.settings input{margin:14px 0}.modal-backdrop{position:fixed;inset:0;background:#10263070;backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{background:white;border-radius:15px;width:610px;max-width:100%;max-height:92vh;display:flex;flex-direction:column;box-shadow:0 20px 90px #112c3c40}.modal.large{width:760px}.modal-head{padding:23px 25px 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-head h2{font-size:20px}.modal-content{padding:24px 25px;overflow:auto}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:17px 25px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field.full{grid-column:1/-1}label{font-size:13px;font-weight:600;display:block;margin-bottom:7px;color:#62535C}input,select,textarea{width:100%;border:1px solid #EADDD8;border-radius:7px;padding:10px 11px;color:#493D46;background:#fff;min-height:41px;font-size:14px}textarea{resize:vertical;min-height:88px}input:focus,select:focus,textarea:focus{outline:2px solid #B95748;outline-offset:1px}.field small{font-size:12px;color:#81939e;display:block;margin-top:6px;line-height:1.5}.check-label{display:flex;align-items:center;gap:9px;font-weight:400}.check-label input{width:17px;min-height:17px}.form-summary{padding:15px;margin-top:20px;background:#FBE8E1;color:#984638;border-radius:8px;display:flex;justify-content:space-between;gap:12px;font-size:14px}.error{color:#ad4353;background:#fff0f2;border-radius:7px;padding:11px;font-size:13px;margin-top:16px;display:none}.error.show{display:block}.detail-title{display:flex;gap:14px;align-items:center;margin-bottom:20px}.detail-title h3{font-size:19px;margin-bottom:6px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;font-size:14px}.detail-grid small{color:var(--muted);display:block;margin-bottom:5px}.detail-grid strong{font-weight:500}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.step{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.step-number{height:28px;width:28px;display:grid;place-items:center;border-radius:50%;background:#FBE8E1;color:#984638;flex-shrink:0;font-weight:600}.step p{font-size:14px;color:#718590;line-height:1.7;margin-top:5px}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);background:#382D35;color:white;padding:13px 22px;border-radius:9px;z-index:200;box-shadow:0 8px 22px #382D3530;max-width:90vw;font-size:14px;opacity:0;pointer-events:none;transition:.2s}#toast.show{opacity:1;transform:translate(-50%,0)}.mobile-menu{display:none}.mobile-shade{display:none}.stack{display:grid;gap:20px}.financial-sub{font-size:13px;color:var(--muted);margin:15px 0}.room-dot{height:8px;width:8px;border-radius:50%;background:#D88E7F;display:inline-block;margin-right:7px}
@media(min-width:1550px){.cols{grid-template-columns:minmax(0,1fr) 340px}.appointment{padding:19px 24px}}
@media(max-width:1200px){.shell{grid-template-columns:205px minmax(0,1fr)}.sidebar{width:205px;padding-left:12px;padding-right:12px}.content{padding:25px}.topbar{padding:0 25px}.cols{grid-template-columns:minmax(0,1fr) 265px}.stats{gap:12px}.stat{padding:17px}.stat-icon{display:none}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-value{font-size:24px}}
@media(max-width:980px){.cols{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr}.right-stack>.panel:last-child{grid-column:1/-1}.user>div{display:none}.stats{grid-template-columns:1fr 1fr}.stat-icon{display:grid}.page-heading h1{font-size:25px}.page-heading{align-items:flex-start}.actions .btn{font-size:13px}.topbar{height:65px}.cards-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.shell{display:block}.sidebar{transform:translateX(-100%);transition:.2s;width:240px}.sidebar.open{transform:translateX(0)}.mobile-shade.open{display:block;position:fixed;inset:0;background:#382D3560;z-index:25}.mobile-menu{display:inline-grid}.topbar{padding:0 16px}.crumb{display:none}.top-actions{gap:10px}.content{padding:23px 16px}.page-heading{flex-wrap:wrap;gap:17px}.page-heading>.actions{width:100%}.page-heading .actions>.btn{flex:1}.page-heading h1{font-size:25px}.page-heading p{line-height:1.6}.stats{gap:10px;margin-bottom:18px}.stat{padding:17px 14px}.stat-label{font-size:12px;margin-bottom:10px}.stat-value{font-size:23px}.stat-icon{display:none}.stat-info{font-size:11px}.right-stack{grid-template-columns:1fr}.right-stack>.panel:last-child{grid-column:auto}.panel-head{padding:18px 16px}.panel-head h2{font-size:16px}.date-control{gap:0}.date-control input{width:133px;font-size:12px}.date-control .icon-btn{padding:4px}.appointment{padding:15px 13px;grid-template-columns:43px minmax(0,1fr);gap:10px}.appt-end{grid-column:2;text-align:left;margin-left:46px;display:flex;align-items:center;gap:10px;margin-top:-7px}.appt-end small{margin:0}.appt-main .avatar{width:33px;height:33px}.appt-name{font-size:14px}.appt-service{font-size:12px;line-height:1.5}.appointment .time{font-size:13px}.cards-grid,.grid2{grid-template-columns:1fr}.toolbar select{max-width:100%;flex:1}.toolbar .search{width:100%}.filters{padding:14px}.filters select{max-width:100%;flex:1}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.modal-backdrop{padding:10px}.modal{max-height:96vh}.modal-content{padding:20px}.modal-head{padding:17px 20px}.modal-footer{padding:15px 20px}.modal-footer .btn{flex:1}.detail-grid{gap:15px;font-size:13px}.detail-actions .btn{flex:1}.demo-badge{font-size:11px}.note-demo{align-items:flex-start;line-height:1.6}.service-card h3{min-height:0}.profile-data{grid-template-columns:1fr}.btn{min-height:42px}.settings{width:100%}}
.modal>form{display:flex;flex-direction:column;min-height:0;overflow:hidden}.modal>form .modal-content{min-height:0}.modal-footer{flex-shrink:0}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.pwa-panel{position:relative;padding:12px 20px;background:#FBE8E1;display:flex;align-items:center;gap:16px;flex-wrap:wrap;font-size:13px}.pwa-panel dialog{border:0;border-radius:18px;max-width:520px;width:calc(100% - 40px);padding:24px;color:#382D35;line-height:1.6}.pwa-panel dialog::backdrop{background:#382D3580}.pwa-panel button{min-height:44px}body{padding-bottom:env(safe-area-inset-bottom)}

.invoice-table{margin-top:16px}.invoice-table table{min-width:720px}.invoice-table input{min-width:95px;width:110px}.invoice-table td:first-child{min-width:160px}

.cloud-status{position:sticky;bottom:0;z-index:90;background:#382D35;color:white;padding:10px 18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;font:13px sans-serif}.cloud-boot{max-width:680px;margin:10vh auto;padding:32px}.cloud-boot .btn{margin:10px 10px 0 0}body[data-sync="conflict"] .cloud-status,body[data-sync="offline"] .cloud-status{background:#813f34}

.cloud-status{position:fixed;left:0;right:0;bottom:0}body{padding-bottom:60px}.pwa-panel{bottom:65px}

/* Keep every navigation item reachable above the fixed sync bar. */
.sidebar{bottom:60px;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;scrollbar-color:#B98682 #382D35}
.sidebar>*{flex-shrink:0}

/* Gestétika brand; preserve semantic status colors. */
.brand-mark{object-fit:contain;background:transparent;border-radius:12px}.brand-name{letter-spacing:-.5px}.portal-top .brand-name{display:inline-flex;align-items:center;gap:10px}.portal-top .brand-name:before{content:"";width:32px;height:32px;background:url("./gestetika-icon.svg") center/contain no-repeat}.side-bottom>a.btn{color:#F7DCD5!important;background:#513E49;border-color:#705561}.side-bottom>a.btn:hover{background:#604C58}.btn.primary{box-shadow:0 3px 8px #B957481A}.pwa-panel{color:#63372F}.demo-badge{background:#FFF1EB;color:#7C493F;border-color:#EADDD8}input[type=checkbox],input[type=radio]{accent-color:#B95748;width:auto;min-height:auto}.brand-credit{font-size:12px;opacity:.8}body{background:#FFF8F5}
