:root{--rose:#97756B;--rose-deep:#806059;--cream:#F4EFE7;--cream2:#ECE2DA;--paper:#FFFDFB;--wine:#541B24;--gold:#B89A68;--text:#4A3A36;--muted:#82736E;--line:#E1D4CC;--shadow:0 15px 45px rgba(59,26,22,.07);font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--text);background:var(--cream);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:2px}a{color:var(--wine)}h1,h2,h3,h4,p{margin-top:0}h1,h2,h3,.serif{font-family:'Libre Baskerville',Georgia,'Times New Roman',serif;font-weight:400}h1{font-size:clamp(2.1rem,3.3vw,3.3rem);line-height:1.2;color:var(--wine)}h2{font-size:1.6rem;line-height:1.3;color:var(--wine)}h3{font-size:1.12rem;color:var(--wine)}p{line-height:1.65}.italic{font-family:Georgia,serif;font-style:italic;color:var(--rose)}small,.subtle{color:var(--muted)}.eyebrow{color:var(--rose);font-size:.69rem;letter-spacing:.18em;font-weight:750;text-transform:uppercase}.row{display:flex;gap:12px;align-items:center}.between{justify-content:space-between}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:12px}.grid{display:grid;gap:17px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:var(--paper);border:1px solid var(--line);border-radius:13px;padding:24px;box-shadow:var(--shadow)}.card.compact{padding:18px}.card.plain{box-shadow:none}.badge{padding:7px 12px;font-size:.72rem;border:1px solid var(--line);border-radius:100px;background:#F9F3EE;color:var(--rose-deep);white-space:nowrap}.badge.good{background:#F1F6EC;color:#46604A;border-color:#B8C7B6}.badge.wait{background:#FFF7E9;color:#7B5B30;border-color:#E9D6AE}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border:1px solid var(--rose);border-radius:7px;background:var(--rose);color:white;font-size:.85rem;font-weight:650;text-decoration:none;transition:opacity .15s}.btn:hover{opacity:.89}.btn.secondary{color:var(--wine);background:var(--paper);border-color:var(--line)}.btn.quiet{border:0;background:transparent;color:var(--wine);box-shadow:none;padding:8px}.btn.danger{background:#842F38;border-color:#842F38}.btn:disabled{opacity:.5}.field{display:block;margin:12px 0}.field>span,.label{display:block;margin-bottom:8px;font-size:.83rem;font-weight:650;color:var(--wine)}input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;border:1px solid var(--line);background:white;color:var(--text);border-radius:7px;padding:12px 13px;font-size:.92rem}textarea{min-height:105px;resize:vertical;line-height:1.6}textarea.large{min-height:190px}input[type=checkbox]{accent-color:var(--rose);width:16px;height:16px}form .actions{margin-top:19px}.help{font-size:.83rem;color:var(--muted);line-height:1.55}.notice{padding:15px;border:1px solid #DCCABC;background:#F9F3EC;border-radius:8px;font-size:.85rem;line-height:1.65}.notice.warn{border-color:#E7D3AA;background:#FFF8EB}.notice.err{border-color:#DBA5AC;background:#FFF1F1}.app-shell{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{background:#EEE4DC;border-right:1px solid #DCCBC1;display:flex;flex-direction:column;padding:29px 19px;gap:32px}.brand{text-align:center;display:flex;align-items:center;flex-direction:column;gap:8px}.brand img{width:99px;height:99px;object-fit:cover;border-radius:100%;box-shadow:0 5px 20px #6A4C4122}.brand strong{font:normal 1.15rem Georgia,serif;color:var(--wine);letter-spacing:.13em}.brand small{font-size:.62rem;letter-spacing:.14em}.nav{display:flex;flex-direction:column;gap:8px}.nav button{display:block;width:100%;text-align:left;border:0;background:transparent;padding:13px 14px;color:#715D58;border-radius:8px;font-size:.86rem}.nav button:hover,.nav button.selected{background:#F9F4EF;color:var(--wine)}.sidebar-foot{margin-top:auto;border-top:1px solid #DBCBC1;padding-top:20px}.avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:100%;background:var(--rose);color:white;font-size:.75rem}.main{min-width:0}.topbar{height:69px;border-bottom:1px solid var(--line);background:#FAF7F3;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;font-size:.75rem;color:var(--muted)}.page{padding:50px min(5vw,72px) 80px;max-width:1360px;margin:0 auto}.page-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.page-header h1{margin-bottom:8px}.hero{background:linear-gradient(100deg,#87655E,#BEA092);border-radius:10px;color:white;padding:34px 38px;margin:20px 0 23px;position:relative;overflow:hidden;min-height:150px}.hero:after{content:'';position:absolute;width:140px;height:220px;border-left:1px solid rgba(255,227,178,.55);border-radius:100%;right:19%;top:-30px;transform:rotate(14deg)}.hero .eyebrow{color:#F4E4D8}.hero p{font:italic clamp(1.25rem,2vw,1.75rem) Georgia,serif;max-width:680px;margin:15px 0 0;line-height:1.45}.stat .num{font:normal 2.2rem Georgia,serif;color:var(--wine);margin-bottom:8px}.section-title{margin:37px 0 18px}.journey-card{min-height:155px}.journey-card .serial{font:.8rem Georgia,serif;color:var(--rose);float:right}.journey-card h3{margin:13px 0 6px}.journey-card p{font-size:.86rem;line-height:1.6;color:var(--muted)}.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:var(--cream)}.auth-cover{background:linear-gradient(130deg,#826057,#B39989);padding:6vw;display:flex;justify-content:center;flex-direction:column;color:white;position:relative;overflow:hidden}.auth-cover:after{content:'';width:500px;height:500px;border:1px solid rgba(249,224,178,.45);border-radius:50%;position:absolute;right:-240px;bottom:-120px}.auth-cover img{width:133px;height:133px;border-radius:50%;object-fit:cover;margin-bottom:35px}.auth-cover h1{font-size:clamp(2.5rem,5vw,4.4rem);color:white}.auth-cover .italic{color:#F9F3ED}.auth-cover p{font-size:1.05rem;max-width:410px}.auth-card-wrap{display:grid;place-items:center;padding:30px}.auth-card{width:min(100%,500px);background:white;border-radius:14px;padding:36px;box-shadow:var(--shadow);border:1px solid var(--line)}.auth-card h2{margin-bottom:8px}.auth-card .tabs{display:flex;gap:7px;margin:22px 0}.auth-card .tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--muted);padding:10px 12px}.auth-card .tabs button.active{border-color:var(--rose);color:var(--wine);font-weight:bold}.steps{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 27px}.steps button{border:1px solid var(--line);border-radius:100px;padding:8px 13px;background:white;color:var(--muted);font-size:.76rem}.steps button.active{background:var(--rose);border-color:var(--rose);color:white}.question{padding:18px 0;border-bottom:1px solid var(--line)}.question:last-child{border:0}.question label{display:block;font-size:.89rem;line-height:1.5;color:var(--wine);font-weight:650;margin-bottom:11px}.question textarea{min-height:87px}.photo-item{border:1px solid var(--line);border-radius:9px;padding:15px;background:white;display:flex;align-items:center;justify-content:space-between;gap:15px}.photo-item strong{display:block;font-size:.81rem;overflow-wrap:anywhere}.photo-item small{display:block;margin-top:3px}.photo-controls{display:flex;gap:7px;flex-wrap:wrap}.photoguides img{width:100%;max-height:340px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:9px}.content-body{white-space:pre-wrap;font-size:.94rem;line-height:1.8}.report-cover{padding:38px 20px;text-align:center;background:linear-gradient(145deg,#876058,#B19185);color:white;border-radius:11px;margin-bottom:24px}.report-cover img{width:90px;height:90px;border-radius:100%;object-fit:cover}.report-cover h1{color:white;font-size:3rem;margin:12px 0}.report-cover .italic{color:#F8EDE4;font-size:1.7rem}.report-section{page-break-inside:avoid;margin:20px 0}.report-section h2{border-bottom:1px solid var(--line);padding-bottom:12px}.clientlist{display:grid;gap:12px}.cliententry{display:flex;justify-content:space-between;gap:14px;align-items:center}.cliententry h3{margin-bottom:3px}.cliententry p{font-size:.82rem;margin:0;color:var(--muted)}.locked{max-width:720px;margin:8vh auto}.locked img{width:130px;border-radius:50%;display:block;margin:0 auto 22px}.muted-italic{font-style:italic;font-family:Georgia,serif;color:var(--rose)}.mini{font-size:.78rem}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.gallery-card{border:1px solid var(--line);border-radius:10px;padding:16px;background:white;min-width:0}.gallery-card .category{font-size:.76rem;font-weight:750;color:var(--wine);margin-bottom:8px}.photo-dialog{width:min(94vw,880px);max-height:90vh;padding:25px;border:1px solid var(--line);border-radius:12px;background:white}.photo-dialog::backdrop{background:#21130FC7}.photo-dialog img{max-width:100%;max-height:76vh;object-fit:contain;display:block;margin:auto}.dialog-close{display:block;margin-left:auto;border:0;background:none;color:var(--wine);padding:10px;font-weight:700}#toast{position:fixed;right:18px;bottom:18px;z-index:100;max-width:380px;pointer-events:none}#toast .toastmsg{background:var(--wine);color:white;border-radius:10px;box-shadow:var(--shadow);padding:16px 19px;font-size:.86rem;line-height:1.5}.boot{text-align:center;padding:25vh 15px;font:1.2rem Georgia,serif;color:var(--rose)}.empty{padding:30px;text-align:center;border:1px dashed var(--line);border-radius:9px;color:var(--muted)}.hr{height:1px;background:var(--line);margin:18px 0}.w-100{width:100%}.nowrap{white-space:nowrap}.only-print{display:none}
@media(max-width:1100px){.grid.four{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr)}}
@media(max-width:780px){.app-shell{display:block}.sidebar{padding:14px 16px;gap:14px;position:relative}.brand{flex-direction:row;justify-content:flex-start;text-align:left}.brand img{width:48px;height:48px}.brand strong{font-size:.9rem}.brand small{display:none}.nav{flex-direction:row;overflow-x:auto;scrollbar-width:thin;gap:4px}.nav button{min-width:max-content;padding:9px 11px;font-size:.76rem}.sidebar-foot{position:static;margin:0;padding:0;border:0}.sidebar-foot .name{display:none}.sidebar-foot .avatar{display:none}.sidebar-foot button{font-size:.75rem}.topbar{height:42px;padding:0 20px}.page{padding:29px 18px 55px}.page-header{align-items:flex-start;flex-direction:column}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.auth{grid-template-columns:1fr}.auth-cover{padding:24px;min-height:205px}.auth-cover img{width:65px;height:65px;margin-bottom:12px}.auth-cover h1{font-size:2.1rem}.auth-cover p{font-size:.85rem}.auth-card-wrap{padding:18px}.auth-card{padding:22px}.hero{padding:24px}.card{padding:20px}.photo-item{align-items:flex-start;flex-direction:column}.cliententry{align-items:flex-start;flex-direction:column}}
@media print{body{background:white}.sidebar,.topbar,.no-print,#toast,.actions{display:none!important}.app-shell{display:block}.main,.page{width:100%;max-width:none;padding:0}.card{box-shadow:none;border:none}.report-cover{print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-section{margin-top:28px}.only-print{display:block}.report-section h2{page-break-after:avoid}}
