:root{color-scheme:light;--paper:#faf7f1;--surface:#fffdf9;--ink:#30262b;--plum:#442c39;--plum-dark:#2e1d27;--muted:#776c70;--line:#e4d9ce;--rose:#f2e7e4;--sand:#f6eee2;--gold:#9b7b50;--green:#435c4b;--red:#9e3237;--shadow:0 14px 45px #432a3508;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6;font-synthesis:none}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink)}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit}button:disabled{cursor:not-allowed;opacity:.55}button,input,select,textarea{border-radius:8px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #9b7b50;outline-offset:4px}button:disabled:focus-visible{outline:none}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.8px;line-height:1.12}h1{font-size:clamp(34px,4.2vw,54px)}h1 em,h2 em{font-weight:400;color:#8b6b60}h2{font-size:30px;line-height:1.2}h3{font-size:18px;line-height:1.4;font-weight:600}p{overflow-wrap:anywhere}svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.skip-link{position:fixed;top:8px;left:8px;transform:translateY(-150%);z-index:20;padding:12px 18px;background:var(--plum);color:white;border-radius:6px}.skip-link:focus{transform:none}.site-header{max-width:1184px;padding:27px 32px 25px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:14px}.brand{display:flex;align-items:center;gap:12px;font-size:23px;line-height:1.15;text-decoration:none;font-weight:500;letter-spacing:-.6px;min-height:48px}.brandmark{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--plum);color:#fffaf1;font:italic 39px/1 Georgia;padding-right:5px}.brandtag{display:block;font-size:14px;line-height:1.3;letter-spacing:.1px;margin-top:4px;color:var(--muted)}.demobadge{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;background:#f4eddf;border:1px solid #deceb6;border-radius:30px;font-size:14px;white-space:nowrap;color:#735a39}.demobadge i{width:6px;height:6px;border-radius:50%;background:#9d8050}.shell{max-width:1184px;padding:0 32px;margin:auto}main{padding-top:22px;min-height:58vh}main:focus{outline:none}.area-nav{display:flex;gap:27px;border-bottom:1px solid var(--line);padding:0 0 2px;overflow:auto}.area-nav a{display:flex;align-items:center;min-height:48px;text-decoration:none;font-size:14px;white-space:nowrap;border-bottom:2px solid transparent;color:var(--muted)}.area-nav a[aria-current=page]{color:var(--plum);border-color:var(--gold)}footer{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding:24px 0 30px;margin-top:38px;font-size:14px;color:var(--muted)}footer>span>span{display:inline-block;margin-top:4px}.eyebrow{display:block;text-transform:uppercase;letter-spacing:1.7px;font-size:14px;line-height:1.45;color:#8b7054;font-weight:500;margin-bottom:12px}.lede{font-size:16px;color:var(--muted);line-height:1.75;margin-top:17px;max-width:650px}.fineprint{font-size:14px;line-height:1.6;color:var(--muted);margin-top:15px}.panel-sub{font-size:15px;line-height:1.75;color:var(--muted);margin:13px 0 23px}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:48px;padding:12px 18px;border:1px solid var(--plum);border-radius:7px;color:#fffaf5;background:var(--plum);font-size:15px;font-weight:500;line-height:1.4;text-align:center;text-decoration:none;transition:background .15s,border-color .15s}.button:hover{background:var(--plum-dark)}.button.secondary{background:var(--surface);color:var(--plum);border-color:#d8c8b8}.button.secondary:hover{background:#f6eee6}.button.green{background:var(--green);border-color:var(--green)}.button.green:hover{background:#334838}.button.wide{width:100%}.button-row{display:flex;align-items:stretch;gap:10px;margin-top:12px}.button-row>*{flex:1}.text-button,.text-link{border:0;background:transparent;color:var(--plum);padding:10px 0;min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:14px;line-height:1.45;text-decoration:none}.text-button:hover,.text-link:hover{text-decoration:underline;text-underline-offset:4px}.notice{background:var(--sand);border:1px solid #e4d6c1;border-radius:8px;padding:17px 20px;font-size:14px;line-height:1.75;margin-top:25px;color:#69574c}.notice strong{font-weight:600}.notice.error{background:#fff4ef;border-color:#d8b7af;color:var(--red)}.notice .button{margin-top:12px}.empty-state{background:#f7f1ea;border:1px dashed #d6c6b5;border-radius:7px;padding:24px;color:var(--muted);font-size:15px;text-align:center}.state-card{max-width:690px;margin:45px auto;padding:46px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.state-card .button{margin-top:24px}.state-card[aria-busy=true]{opacity:.85}.auth-panel{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--surface);max-width:1010px;margin:14px auto;box-shadow:var(--shadow)}.auth-art{position:relative;padding:58px 44px 85px;background:var(--plum);color:#fff7ec;overflow:hidden}.auth-art .eyebrow{color:#d7bf9c}.auth-art h1 em{color:#d9bda8}.auth-art p{margin-top:25px;color:#dccfd1;font-size:16px}.art-flower{position:absolute;bottom:-88px;right:5px;font:260px Georgia;color:#b0939c1f;pointer-events:none}.auth-content{padding:48px 38px}.auth-content>p{margin:18px 0 25px;color:var(--muted);font-size:15px}.auth-content .fineprint{font-size:14px}.customer-page{display:grid;grid-template-columns:.95fr 1.05fr;max-width:1050px;margin:auto;background:var(--surface);border:1px solid #e2d4c5;border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}.beauty-art{position:relative;min-height:640px;overflow:hidden;background:#79625c}.beauty-art>img{height:100%;width:100%;display:block;object-fit:cover;object-position:46% 45%}.beauty-art:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#2e1b2263 0%,#2e1b2200 34%,#2e1b2222 55%,#2e1b22b0 100%);pointer-events:none}.cover-brand{position:absolute;z-index:1;left:23px;right:23px;top:36px;text-align:center;text-transform:uppercase;letter-spacing:4px;font-size:17px;color:#fff8ed;text-shadow:0 1px 10px #0005;overflow-wrap:anywhere}.art-copy{position:absolute;z-index:1;left:31px;right:27px;bottom:56px;color:#fff7ed}.art-copy>.eyebrow{color:#e4c9a5}.art-copy>p{font:38px/1.17 Georgia;letter-spacing:-.7px}.art-copy em{color:#e7cdb9}.image-note{position:absolute;z-index:2;left:15px;right:15px;bottom:14px;color:white;font-size:14px;line-height:1.4;text-align:center;text-shadow:0 1px 5px #0008}.customer-content{padding:38px 36px}.customer-content h1{font-size:43px}.customer-content .lede{font-size:15px;margin-top:16px}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:40px;height:40px;border-radius:50%;background:#ebdcd8;color:#684d56;font:22px Georgia;overflow:hidden}.avatar>img{display:block;width:100%;height:100%;object-fit:cover}.avatar.large{width:88px;height:88px;font-size:35px}.small-avatar,.member-name{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5}.small-avatar{color:var(--muted);margin-bottom:23px}.small-avatar strong{font-weight:500;color:var(--plum)}.benefit-box{border:1px solid #dfcbb6;background:#f8f0e6;border-radius:7px;padding:17px 14px 20px;margin:25px 0 23px}.benefit-label{display:block;text-align:center;color:#866d53;font-size:14px;line-height:1.4;margin-bottom:14px}.benefit-pair{display:grid;grid-template-columns:1fr 20px 1fr;align-items:center;gap:7px;text-align:center}.benefit-pair strong{display:block;font:36px/1.15 Georgia;color:#6c4b3a;letter-spacing:-1px;white-space:nowrap}.benefit-pair div>span{display:block;font-size:14px;line-height:1.4;color:#836354;margin-top:7px}.benefit-plus{font:24px Georgia;color:#ad8f73}.salon-links{border-top:1px solid var(--line);margin-top:25px;padding-top:19px}.salon-links p{font-size:14px;color:var(--muted)}.salon-links .button{font-size:14px;padding:11px 10px}.invitation-ready{border-top:1px solid var(--line);padding-top:23px}.invitation-ready h2{font-size:28px;margin-bottom:20px}.invitation-ready>.button{margin-top:14px}.invitation-ready label{font-size:14px}.guest-preview{margin-top:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:14px 0;font-size:15px;min-height:48px}.voucher-mini{text-align:center;padding:4px 0 18px}.qr-image{display:block;width:220px;height:220px;max-width:100%;margin:23px auto;object-fit:contain;background:white;padding:7px;border-radius:3px}.qr-fallback{font-size:14px;color:var(--red);margin:20px 0;padding:14px;border:1px solid #d8b7af}.code-box{border:1px solid #d7c5b3;background:#fbf5ed;border-radius:7px;text-align:center;padding:14px;margin:16px 0}.code-box span{display:block;color:var(--muted);font-size:14px;margin-bottom:7px}.code-box strong{display:block;font-size:18px;font-weight:600;letter-spacing:1px;overflow-wrap:anywhere}.private-code{background:#f0ecec;border:1px solid #dcd2d6;border-radius:8px;padding:20px;margin-top:22px}.private-code .eyebrow{font-size:14px;color:#75616c;letter-spacing:.8px;margin-bottom:10px}.private-code>strong{font-size:20px;letter-spacing:1px;overflow-wrap:anywhere}.private-code p{margin-top:9px;color:var(--muted);font-size:14px;line-height:1.7}.private-code .text-button{padding-bottom:0}.invitation-message{font-size:16px;line-height:1.75;white-space:pre-line;color:var(--muted);margin:22px 0}.invite-page .small-avatar{margin-top:24px;margin-bottom:0}.voucher{text-align:center;border-top:1px solid var(--line);padding-top:24px}.voucher h2{font-size:27px}.voucher>p{font-size:15px;color:var(--muted);margin-top:13px}.status-pill{display:inline-block!important;background:#f3eee5;color:#755d40!important;border-radius:20px;padding:6px 11px;font-size:14px!important}.status-pill.redeemed{background:#e8efe5;color:#3d614b!important}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:16px 0 28px}.page-heading .lede{margin-top:15px}.page-heading>.button{flex:0 0 auto}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:8px 0 24px}.stat{border:1px solid var(--line);border-radius:8px;padding:22px 20px;background:var(--surface);box-shadow:0 5px 15px #432a3503}.stat>span{display:block;font-size:14px;color:var(--muted)}.stat strong{display:block;font:45px/1.15 Georgia;color:var(--plum);margin:12px 0 10px}.stat small{display:block;font-size:14px;line-height:1.5;color:var(--muted)}.stat.highlight{background:var(--plum);border-color:var(--plum)}.stat.highlight>span,.stat.highlight small{color:#dfd1d8}.stat.highlight strong{color:#fff8ef}.panel{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:29px;box-shadow:0 5px 22px #432a3503}.panel+.panel{margin-top:24px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px}.section-heading .eyebrow{margin-bottom:8px}.tag{font-size:14px;line-height:1.5;display:inline-block;border:1px solid #dcd0c0;background:#f7f0e7;border-radius:20px;padding:4px 10px;white-space:nowrap;color:#7b654d}.tag.success{border-color:#d1ddce;background:#edf2e9;color:#47604d}.salon-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.salon-card{border:1px solid #decfbd;border-radius:9px;background:#fcf8f1;padding:25px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:18px}.salon-card .eyebrow{font-size:14px;letter-spacing:.8px;margin-bottom:7px}.salon-card h3{font:29px Georgia;letter-spacing:-.5px}.salon-card p{font-size:14px;color:var(--muted);margin-top:6px}.salon-initial{display:flex;justify-content:center;align-items:center;width:62px;height:62px;font:24px Georgia;background:#eaded0;color:#795b43;border-radius:50%}.salon-card>dl,.salon-card>.button{grid-column:1/-1}.salon-card dl{margin:3px 0 0;padding-top:14px;border-top:1px solid #e5d8c6;display:grid;gap:10px}.salon-card dl>div{display:flex;justify-content:space-between;gap:20px;font-size:14px}.salon-card dt{color:var(--muted)}.salon-card dd{margin:0;font-weight:600}.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin:0 0 26px;overflow:auto}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;min-height:48px;padding:10px 0;background:transparent;color:var(--muted);font-size:15px;white-space:nowrap}.tabs button[aria-current=page]{border-bottom-color:var(--gold);color:var(--plum)}.dashboard-columns{display:grid;grid-template-columns:.94fr 1.06fr;gap:23px;align-items:start}.dashboard-columns>.panel{margin:0;min-width:0}.divider{display:flex;align-items:center;gap:12px;margin:20px 0 17px;font-size:14px;color:var(--muted)}.divider:before,.divider:after{content:'';height:1px;background:var(--line);flex:1}.input-action{display:flex;gap:8px}.input-action input{min-width:0}.input-action .button{flex:0 0 auto}label{display:block;font-size:15px;line-height:1.5;margin-bottom:8px}input,textarea,select{width:100%;min-height:48px;padding:11px 13px;border:1px solid #d8cabe;background:#fffdf9;color:var(--ink);font-size:16px;line-height:1.5}textarea{resize:vertical;display:block;min-height:100px}input::placeholder,textarea::placeholder{color:#9c8e85}input[type=checkbox]{width:20px;height:20px;min-height:20px;margin:3px 0 0;flex:0 0 auto;accent-color:var(--plum)}input[type=file]{font-size:14px;padding:9px;background:#f7f1e9}input[type=file]::file-selector-button{padding:9px 12px;margin-right:10px;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--plum);font:inherit}.inline-feedback{font-size:14px;line-height:1.6;color:#466148;margin-top:13px;overflow-wrap:anywhere}.inline-feedback:empty{display:none}.inline-feedback.error{color:var(--red)}.table-wrap{overflow-x:auto;margin:0 -4px;padding:0 4px 4px}table{width:100%;border-collapse:collapse;white-space:nowrap;font-size:14px;text-align:left}th{font-weight:500;color:var(--muted);font-size:14px;padding:0 14px 13px 0;border-bottom:1px solid var(--line)}td{padding:16px 14px 16px 0;border-bottom:1px solid #eee5db}td:last-child,th:last-child{padding-right:0}tbody tr:last-child td{border-bottom:0}table .avatar{width:33px;height:33px;font-size:18px}table .member-name{font-size:14px}.inactive-label{display:block;font-size:14px;color:var(--muted);margin-top:4px}.summary-line{border-top:1px solid var(--line);padding-top:18px;margin-top:18px;display:flex;flex-wrap:wrap;gap:15px;font-size:14px;color:var(--muted)}.summary-line span{flex:1}.summary-line strong{display:block;color:var(--plum);font:27px Georgia;margin-top:6px}.recent-panel{margin-top:24px}.code-cell{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;letter-spacing:.2px}.checked-card{border:1px solid #c8d5c4;border-radius:8px;background:#f2f5ed;margin-top:20px;padding:20px}.checked-card .eyebrow{color:#52684f;margin-bottom:9px;letter-spacing:.7px}.checked-amount{font:38px Georgia;color:#3e5941}.checked-card dl{margin:16px 0}.checked-card dl div{display:flex;justify-content:space-between;gap:16px;font-size:14px;margin-top:7px}.checked-card dt{color:var(--muted)}.checked-card dd{margin:0;text-align:right;overflow-wrap:anywhere}.checked-card>p{font-size:14px;color:#586551;line-height:1.7}.checked-card .button{margin-top:17px}.settings-panel{max-width:900px}.settings-panel h3{margin:29px 0 18px;padding-top:22px;border-top:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field{display:flex;flex-direction:column;gap:8px;margin:0;font-size:15px}.field.full{grid-column:1/-1}.field-hint{font-size:14px;color:var(--muted);line-height:1.6}.form-actions{display:flex;align-items:center;gap:20px;margin-top:26px}.form-actions .inline-feedback{margin:0}.employee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.employee-card{border:1px solid var(--line);border-radius:9px;background:#fcf8f2;padding:22px;text-align:center}.employee-card>.avatar{margin:0 auto 21px}.employee-form{text-align:left}.employee-form .checkbox-label{margin:14px 0 17px}.checkbox-label{display:flex;align-items:flex-start;gap:11px;font-size:14px;min-height:44px;line-height:1.6;text-align:left}.employee-card>.fineprint{margin-top:2px;text-align:center}.employee-card>.text-button{margin-top:10px}.new-employee{border-top:1px solid var(--line);margin-top:28px;padding-top:25px;display:grid;grid-template-columns:1fr 1fr auto;gap:20px;align-items:end}.new-employee .fineprint{margin-top:8px}.new-employee .inline-feedback{grid-column:1/-1}.photo-preview{display:flex;align-items:center;justify-content:center;border-radius:10px;background:#f3eee7;min-height:140px;margin:18px 0;padding:13px}.photo-preview>img{display:block;max-width:100%;max-height:250px;border-radius:8px}.consent{margin:23px 0}.team-page{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.beauty-art.compact{height:430px;min-height:0;border-radius:180px 180px 10px 10px}.beauty-art.compact .cover-brand{top:42px}.beauty-art.compact .art-copy{bottom:58px}.employee-picker{margin:24px auto 0;max-width:450px}.employee-picker label{margin-bottom:11px}.employee-picker select{min-height:55px}.qr-stage{text-align:center;padding-top:16px}.qr-stage>.eyebrow{margin-bottom:22px}.qr-card{position:relative;background:#fffdf9;border:1px solid #dac6ab;border-radius:10px;padding:31px 27px 26px;box-shadow:var(--shadow)}.qr-card:before{content:'';position:absolute;inset:7px;border:1px solid #e5d8c6;border-radius:5px;pointer-events:none}.salon-title{display:block;text-transform:uppercase;color:#7c6248;font-size:14px;letter-spacing:3px}.qr-card h1{font-size:36px;margin-top:18px}.qr-card>p{font-size:15px;margin-top:12px;color:var(--muted)}.team-benefits{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:21px 0 0;padding:14px 0;font-size:16px;line-height:1.65;color:#6f5241}.team-benefits span{display:block;font-size:14px;color:var(--muted);margin-top:6px}.qr-card .small-avatar{justify-content:center;margin:17px 0 0}.qr-stage>.button-row{margin-top:17px}.qr-stage>.text-button{margin-top:8px}.toast{position:fixed;z-index:100;bottom:22px;left:50%;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--plum);color:white;padding:13px 20px;border-radius:8px;max-width:calc(100% - 32px);font-size:14px;box-shadow:0 8px 35px #0002;transition:opacity .15s,transform .15s;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}dialog{width:min(560px,calc(100% - 32px));max-height:90dvh;overflow:auto;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--ink);padding:36px 30px 29px;box-shadow:0 20px 90px #2a152e2e}dialog::backdrop{background:#30262b80;backdrop-filter:blur(3px)}dialog .close{position:absolute;right:8px;top:7px;width:44px;height:44px;padding:0;border:0;background:transparent;color:var(--muted);font-size:28px;line-height:1}dialog h2{font-size:30px;padding-right:16px;margin-bottom:20px}dialog p{font-size:15px;line-height:1.75;color:var(--muted);margin-top:17px}dialog form{margin-top:20px}dialog .eyebrow{padding-right:30px;font-size:14px}dialog textarea{margin-top:9px}.scanner-frame{position:relative;height:275px;overflow:hidden;border-radius:9px;background:#28202a;margin:22px 0 15px}.scanner-frame video{display:block;width:100%;height:100%;object-fit:cover}.scan-guide{position:absolute;inset:25px 16%;border:2px solid #eee6cbba;border-radius:12px;box-shadow:0 0 0 80px #0002;pointer-events:none}.scanner-frame:has(video:not([src])){min-height:200px}
@media(min-width:1000px){.customer-page .beauty-art>img{position:absolute;inset:0}.invite-page .beauty-art{min-height:880px}.customer-page .art-copy{position:absolute}}
@media(max-width:1000px){.customer-content{padding:32px 26px}.customer-content h1{font-size:37px}.art-copy>p{font-size:34px}.beauty-art>img{position:absolute;inset:0}.benefit-pair strong{font-size:32px}.dashboard-columns{grid-template-columns:1fr}.employee-grid{grid-template-columns:repeat(2,1fr)}.stat{padding:19px 15px}.stat-grid{gap:12px}.team-page{gap:28px}.qr-card{padding:29px 20px 24px}.qr-stage>.button-row{flex-direction:column}.auth-art{padding:48px 30px 85px}.auth-content{padding:43px 29px}.new-employee{grid-template-columns:1fr 1fr}.new-employee>div:first-child{grid-column:1/-1}.new-employee>.button{align-self:end}}
@media(max-width:760px){.site-header{padding:21px 22px}.shell{padding:0 22px}main{padding-top:18px}.customer-page{display:block;max-width:560px}.beauty-art{height:280px;min-height:0}.beauty-art>img{object-position:50% 35%}.cover-brand{top:25px;font-size:16px}.customer-page .art-copy{bottom:43px}.customer-page .art-copy>.eyebrow{display:none}.customer-page .art-copy>p{font-size:28px}.customer-content{padding:30px}.customer-content h1{font-size:38px}.customer-content .lede{font-size:16px}.customer-content .small-avatar{margin-bottom:24px}.benefit-pair strong{font-size:36px}.image-note{font-size:14px;bottom:12px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:13px}.stat{padding:20px}.page-heading{padding-top:14px;align-items:flex-start;flex-direction:column;gap:22px}.page-heading>.button{align-self:flex-start}.page-heading h1{font-size:44px}.salon-grid{grid-template-columns:1fr}.panel{padding:25px}.auth-panel{display:block;max-width:560px}.auth-art{padding:34px 29px 38px}.auth-art h1{font-size:40px}.auth-art p{display:none}.art-flower{font-size:190px;bottom:-87px;right:25px}.auth-content{padding:32px 29px}.team-page{display:block;max-width:560px;margin:auto}.beauty-art.compact{height:290px;border-radius:135px 135px 10px 10px}.beauty-art.compact .cover-brand{top:27px}.beauty-art.compact .art-copy{bottom:50px}.beauty-art.compact .art-copy>.eyebrow{display:none}.beauty-art.compact .art-copy>p{font-size:34px}.employee-picker{margin:23px 0 28px;max-width:none}.qr-stage{padding-top:0}.qr-stage>.button-row{flex-direction:row}.section-heading{align-items:flex-start;flex-wrap:wrap}.tabs{gap:22px}.team-page .qr-card .small-avatar{margin-bottom:0}}
@media(max-width:480px){.site-header{padding:18px 16px 20px;gap:8px}.brand{gap:8px;font-size:21px;letter-spacing:-.5px}.brandmark{width:42px;height:42px;font-size:35px}.brandtag{font-size:14px}.demobadge{font-size:14px;padding:5px 8px;gap:5px}.shell{padding:0 16px}.area-nav{gap:21px}.area-nav a{font-size:14px}main{padding-top:13px}.customer-page{border-radius:10px}.beauty-art{height:245px}.cover-brand{font-size:15px;letter-spacing:3px;top:23px}.customer-page .art-copy{left:23px;bottom:48px}.customer-page .art-copy>p{font-size:27px}.customer-content{padding:25px 21px}.customer-content h1{font-size:35px}.customer-content>.eyebrow{font-size:14px;letter-spacing:1.2px}.customer-content .small-avatar{font-size:14px;margin-bottom:22px}.customer-content .lede{font-size:15px}.benefit-box{margin:24px 0 21px;padding:15px 10px 19px}.benefit-label{font-size:14px}.benefit-pair strong{font-size:32px}.benefit-pair div>span{font-size:14px}.button{font-size:15px;min-height:49px;padding:12px 14px}.salon-links .button-row{flex-wrap:wrap}.salon-links .button{flex:1 1 90px;font-size:14px}.button-row{gap:9px}.invitation-ready h2{font-size:27px}.private-code{padding:18px 15px}.private-code .eyebrow{font-size:14px;letter-spacing:.4px}.code-box strong{font-size:17px;letter-spacing:.5px}.qr-image{width:210px;height:210px}.page-heading h1{font-size:38px}.page-heading .lede{font-size:15px}.page-heading .eyebrow{letter-spacing:1.1px}.stat-grid{gap:11px}.stat{padding:17px 14px}.stat>span,.stat small{font-size:14px}.stat strong{font-size:38px;margin:10px 0 8px}.panel{padding:22px 18px}.panel h2{font-size:28px}.panel-sub{font-size:15px}.salon-card{padding:21px 18px;gap:14px}.salon-card h3{font-size:27px}.salon-initial{width:49px;height:49px;font-size:21px}.salon-card .eyebrow{font-size:14px;letter-spacing:.3px}.salon-card dl>div{font-size:14px}.tabs{gap:20px;margin-bottom:22px}.tabs button{font-size:14px}.input-action{flex-direction:column}.input-action .button{align-self:stretch}.checked-card{padding:18px 14px}.checked-card dl div{display:block;margin-top:12px}.checked-card dd{text-align:left;margin-top:3px}.form-grid{grid-template-columns:1fr;gap:18px}.form-actions{flex-direction:column;align-items:stretch;gap:15px}.employee-grid{grid-template-columns:1fr}.employee-card{padding:23px}.employee-form .checkbox-label{align-items:center}.new-employee{grid-template-columns:1fr;gap:18px}.new-employee>div:first-child{grid-column:auto}.employee-card>.text-button{font-size:15px}.team-page .qr-stage>.button-row{flex-direction:column}.qr-card{padding:27px 20px 23px}.qr-card h1{font-size:35px}.team-benefits{font-size:16px}.beauty-art.compact{height:250px;border-radius:115px 115px 9px 9px}.beauty-art.compact .art-copy{left:24px;bottom:48px}.beauty-art.compact .art-copy>p{font-size:30px}.beauty-art.compact .cover-brand{font-size:15px}.notice{padding:17px 16px;font-size:14px;line-height:1.75}footer{align-items:flex-start;gap:14px;margin-top:29px;padding-top:22px;font-size:14px}footer>.text-button{max-width:115px;text-align:right;justify-content:flex-end;flex:0 0 auto;font-size:14px}.state-card{padding:30px 23px;margin:22px 0}.state-card h1{font-size:33px}.auth-art{padding:30px 24px}.auth-art h1{font-size:37px}.auth-content{padding:29px 24px}.auth-content h2{font-size:29px}.summary-line{display:block}.summary-line span{display:block;margin-bottom:15px}dialog{padding:37px 22px 25px;width:calc(100% - 24px)}dialog h2{font-size:28px}.scanner-frame{height:240px}.scan-guide{inset:24px 12%}.toast{bottom:16px;width:max-content;max-width:calc(100% - 32px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{body{background:white}.site-header,.area-nav,footer,.team-page>div:first-child,.qr-stage>.eyebrow,.qr-stage>.button-row,.qr-stage>.text-button,.notice,.toast,dialog{display:none!important}.shell,main{padding:0;margin:0;max-width:none}.team-page{display:block;max-width:470px;margin:25px auto}.qr-stage{padding:0}.qr-card{box-shadow:none;break-inside:avoid;border-color:#9e8b74}.qr-card:before{border-color:#c8bba7}.qr-image{width:240px;height:240px}.qr-card .small-avatar{justify-content:center}.customer-page{display:block;box-shadow:none}.customer-page .beauty-art{display:none}.customer-content{padding:20px}.button,button{display:none!important}}
@media print{.private-code{display:none!important}}

.voucher-jump{margin-top:22px}.voucher{scroll-margin-top:20px}@media(max-width:480px){.tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible}.tabs button{white-space:normal;line-height:1.4;padding:10px 2px;min-height:62px;font-size:14px}.voucher-jump{width:100%;font-size:16px}.customer-content .lede{font-size:16px}}
/* v8: Private Salon-Entwürfe und nachvollziehbare Zugangsfreigaben. */
.heading-actions{display:flex;flex-direction:column;gap:8px;align-items:stretch;flex:0 0 auto}.heading-actions .text-button{align-self:flex-end}.salon-card .salon-card-status{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-3px}.tag.draft{background:#f2ebdf;border-color:#dcc9ac;color:#785e3b}.tag.public{background:#edf2e9;border-color:#ceddc7;color:#456044}.tag.pending{background:#f4e7e2;border-color:#dfc5bb;color:#81513f}.salon-card .salon-card-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:9px}.salon-card-actions>.primary-action{grid-column:1/-1}.salon-card-actions>.text-button{font-size:14px;min-height:44px}.salon-card .card-note{grid-column:1/-1;font-size:14px;line-height:1.6;margin:0}.salon-card .status-note{font-size:14px;color:var(--muted)}.salon-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 0 25px;padding:22px;border:1px solid var(--line);border-radius:9px;background:#f4eee5}.salon-step{display:flex;align-items:flex-start;gap:12px}.step-number{display:flex;align-items:center;justify-content:center;width:29px;height:29px;flex:0 0 29px;background:#e9dccb;color:#795d42;border-radius:50%;font:17px Georgia}.salon-step strong{display:block;font-size:15px;font-weight:500;line-height:1.5}.salon-step p{font-size:14px;color:var(--muted);line-height:1.55;margin-top:4px}.publication-banner{display:flex;justify-content:space-between;align-items:center;gap:22px;margin:0 0 25px;background:#f3ede3;border:1px solid #dfcdb3;padding:20px 23px;border-radius:9px}.publication-banner.is-public{background:#f1f4ec;border-color:#d5dfcb}.publication-banner .eyebrow{margin-bottom:6px;letter-spacing:1px;font-size:14px}.publication-banner p{font-size:14px;color:var(--muted);line-height:1.65;margin-top:6px;max-width:680px}.publication-banner strong{font-size:16px;font-weight:500}.publication-banner .button-row{flex:0 0 auto;margin:0}.publication-banner .button-row>*{flex:auto}.publication-banner .button{font-size:14px}.join-page{max-width:1000px}.join-page .auth-art{padding-top:49px}.join-page .auth-content>p{margin-bottom:20px}.join-page .identity-card{margin:22px 0}.identity-card{background:#f5eee7;border:1px solid var(--line);border-radius:8px;padding:17px 19px;overflow-wrap:anywhere}.identity-card .eyebrow{font-size:14px;letter-spacing:.8px;margin-bottom:8px}.identity-card strong{display:block;font-size:16px;font-weight:500}.identity-card .account-email{display:block;margin-top:5px;font-size:14px;color:var(--muted)}.identity-card .account-id{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:14px;color:var(--muted);display:block;margin-top:7px;overflow-wrap:anywhere}.join-state{padding:18px 20px;margin:22px 0;background:#eff2e8;border:1px solid #d4ddc7;border-radius:8px}.join-state p{font-size:14px;color:#54624b;margin-top:7px}.join-state .button{margin-top:17px}.join-state.pending{background:#f7efe4;border-color:#e3cfb2}.join-state.pending p{color:#786349}.join-consent{margin:21px 0;font-size:14px}.join-small-list{padding-left:21px;font-size:14px;color:var(--muted);line-height:1.8;margin:18px 0 0}.access-dialog{width:min(700px,calc(100% - 32px))}.access-dialog .section-heading{margin-top:26px;margin-bottom:15px}.access-dialog h3{font-size:18px}.access-dialog .access-explainer{font-size:14px;line-height:1.7;margin:12px 0}.access-link-box{background:#f5eee6;border:1px solid var(--line);padding:18px;border-radius:8px;margin:22px 0}.access-link-box label{font-size:14px}.access-link-box .input-action{align-items:stretch}.access-link-box input{font-size:14px}.access-link-box p{font-size:14px;margin-top:11px}.access-list{display:grid;gap:13px}.access-person{background:#fcf8f2;border:1px solid var(--line);border-radius:8px;padding:17px 18px}.access-person-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.access-person-heading>div{min-width:0}.access-person strong{font-size:16px;font-weight:500;display:block;overflow-wrap:anywhere}.access-person .account-email{font-size:14px;color:var(--muted);display:block;overflow-wrap:anywhere;margin-top:3px}.access-person .account-id{display:block;font-size:14px;color:var(--muted);margin-top:6px;overflow-wrap:anywhere}.access-person p{font-size:14px;line-height:1.6;margin-top:9px}.access-person .button-row{margin-top:14px}.access-person .button-row>.button{flex:0 1 auto;min-height:44px;font-size:14px}.access-person .text-button{font-size:14px}.access-history{margin-top:23px;border-top:1px solid var(--line);padding-top:5px}.access-history .access-person{margin-bottom:11px}.access-history summary{font-size:14px}.permission-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:21px 0;padding:17px 0;font-size:14px}.permission-summary dt{color:var(--muted);margin-top:12px}.permission-summary dt:first-child{margin-top:0}.permission-summary dd{margin:4px 0 0;font-weight:500;overflow-wrap:anywhere}.permission-summary dd span{font-weight:400;color:var(--muted);display:block;font-size:14px;margin-top:3px}.permission-warning{font-size:14px!important;padding:16px 18px;border:1px solid #dfc5bb;background:#f8ede7;border-radius:8px;color:#7d5144!important}.modal-actions{margin-top:24px;display:flex;gap:10px}.modal-actions>*{flex:1}.button.danger{background:#8b4747;border-color:#8b4747}.button.danger:hover{background:#743838}.access-refresh{font-size:14px}.draft-team{max-width:740px;margin:25px auto}.draft-team .draft-icon{display:flex;align-items:center;justify-content:center;width:65px;height:65px;border-radius:50%;background:#f0e6d8;font:30px Georgia;color:#9b7b50;margin-bottom:22px}.draft-team .button-row{margin-top:25px}.public-link-disabled{font-size:14px;color:var(--muted);display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center;padding:9px}.salon-created{border:1px solid #d4ddc7;background:#eff2e8;padding:20px;border-radius:8px;margin-top:20px}.salon-created p{font-size:14px;color:#526249;margin-top:8px}.new-salon-form .field{margin-top:22px}.new-salon-form .fineprint{margin-bottom:22px}.owner-empty{padding:35px 20px}.owner-empty .button{margin-top:20px}.access-loading{padding:25px 0;text-align:center;color:var(--muted);font-size:15px}.salon-card .notice{grid-column:1/-1;margin-top:0}.employee-grid+.notice{margin-top:20px}
@media(max-width:850px){.publication-banner{align-items:flex-start;flex-direction:column;gap:17px}.publication-banner .button-row{width:100%}.publication-banner .button-row>*{flex:1}.salon-steps{gap:14px;padding:20px 17px}.salon-step{gap:9px}}
@media(max-width:760px){.heading-actions{width:100%;max-width:320px}.heading-actions .text-button{align-self:flex-start}.salon-steps{grid-template-columns:1fr;gap:17px}.salon-step p{margin-top:2px}.join-page .auth-art{padding-top:33px}.access-dialog .section-heading{flex-direction:row;align-items:center;gap:12px}}
@media(max-width:480px){.salon-card .salon-card-actions{grid-template-columns:1fr}.salon-card-actions>.primary-action{grid-column:auto}.salon-card-actions .button{width:100%}.salon-card .salon-card-status{align-items:flex-start}.publication-banner{padding:18px 17px}.publication-banner .button-row{flex-direction:column}.salon-steps{padding:19px 16px}.access-dialog{width:calc(100% - 24px);padding:37px 20px 25px}.access-person{padding:16px 14px}.access-person-heading{flex-direction:column;gap:10px}.access-person .button-row{flex-direction:column}.access-person .button-row>.button{width:100%}.access-link-box{padding:16px 14px}.access-link-box .input-action{flex-direction:column}.modal-actions{flex-direction:column-reverse}.modal-actions>.button{min-height:48px}.join-state{padding:17px 16px}.join-page .auth-content{padding:27px 22px}.identity-card{padding:16px}.draft-team .button-row{flex-direction:column}.salon-card .status-note{font-size:14px}.access-dialog .section-heading{flex-wrap:nowrap}.access-dialog .section-heading h3{font-size:17px}.access-dialog .section-heading .text-button{min-width:80px;text-align:right}}
@media print{.publication-banner,.salon-steps,.heading-actions,.salon-card-actions{display:none!important}}

/* Personal employee QR: a public display card, never an admin session. */
.employee-qr-button { margin: 18px 0 8px; }
.qr-status { margin: 16px 0; padding: 14px; background: var(--cream, #f7f2e8); border-radius: 10px; line-height: 1.6; font-size: 15px; }
.staff-link-box { margin-top: 28px; padding: 24px; border: 1px solid var(--line, #ded7cd); border-radius: 18px; background: #fffdf9; }
.staff-link-box h2 { font-size: 27px; margin: 0 0 10px; }
.staff-link-box p, .qr-caption { font-size: 16px; line-height: 1.65; }
.staff-link-box .button-row, .qr-stage > .button-row { margin-top: 14px; }
.link-value { display: block; width: 100%; min-width: 0; margin: 8px 0 14px; padding: 14px; font: inherit; font-size: 16px; border: 1px solid #d6cdc4; border-radius: 10px; background: #fff; color: #442c39; }
.team-page.staff-only { display: block; max-width: 580px; margin: 20px auto 0; }
.staff-only .qr-stage { width: 100%; }
.staff-only .qr-card { padding: 32px 24px; }
.qr-card > .small-avatar { justify-content: center; margin: 12px auto 20px; }
.qr-card .qr-image { max-width: min(100%, 280px); width: 260px; height: auto; }
.employee-qr-preview { display: flex; align-items: center; flex-direction: column; gap: 12px; padding: 12px 0 24px; }
.employee-qr-preview .qr-image { width: 260px; max-width: 100%; height: auto; }
.qr-link-details { margin-top: 22px; }
.qr-link-details summary { cursor: pointer; font-size: 16px; padding: 14px 0; }
@media (max-width: 600px) { .staff-link-box { padding: 20px 16px; }.qr-stage .button-row { display: grid; grid-template-columns: 1fr; }.staff-only .qr-card { padding: 28px 18px; }.staff-only .qr-card h1 { font-size: 42px; }.employee-qr-preview .qr-image { width: 250px; }.employee-qr-button { font-size: 16px; min-height: 52px; } }
@media print { body[data-view="staff"] .qr-stage > :not(.qr-card),body[data-view="staff"] .notice { display: none !important; } body[data-view="staff"] .team-page { max-width: 100%; } }

body[data-view="staff"] .site-header { padding-top: 18px; padding-bottom: 18px; }
body[data-view="staff"] .shell { padding-top: 0; }
.staff-only .qr-card h1 { margin-top: 14px; margin-bottom: 12px; }
.staff-only .qr-card > p:first-of-type { margin-bottom: 14px; }
.staff-only .team-benefits { margin-top: 14px; }
@media print { body[data-view="staff"] .team-page > .qr-stage { display: block !important; } .qr-stage > .staff-link-box { display: none !important; } }

/* Saved salon palette; QR pixel colors intentionally stay independent. */
[data-theme="rose"] { --paper:#faf7f1;--surface:#fffdf9;--plum:#442c39;--plum-dark:#2e1d27;--rose:#f2e7e4;--sand:#f6eee2;--line:#e4d9ce;--gold:#816444;--brand-accent:#442c39;--brand-light:#f2e7e4;--brand-paper:#faf7f1; }
[data-theme="sage"] { --paper:#f5f7f1;--surface:#fcfdf8;--plum:#294b40;--plum-dark:#18382e;--rose:#e4ede5;--sand:#edf0e4;--line:#d3ddd3;--gold:#526c48;--brand-accent:#294b40;--brand-light:#e4ede5;--brand-paper:#f5f7f1; }
[data-theme="sand"] { --paper:#faf6ed;--surface:#fffdf7;--plum:#59402e;--plum-dark:#39281c;--rose:#eee2d0;--sand:#f5ead7;--line:#ded0bb;--gold:#7b5d32;--brand-accent:#59402e;--brand-light:#eee2d0;--brand-paper:#faf6ed; }
[data-theme="midnight"] { --paper:#f5f6f8;--surface:#fcfdff;--plum:#293e58;--plum-dark:#18283e;--rose:#e3e9f1;--sand:#edf0f5;--line:#cfd8e4;--gold:#526b8b;--brand-accent:#293e58;--brand-light:#e3e9f1;--brand-paper:#f5f6f8; }
.brand-options { border:0;padding:0;margin:28px 0 30px;min-width:0; }
.brand-options legend { font-family:Georgia,serif;font-size:26px;padding:0;color:var(--ink); }
.brand-options>p,.salon-photo-gap p { font-size:16px;line-height:1.7; }
.brand-choices { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:22px 0; }
.brand-choice { position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;font-size:15px; }
.brand-choice:has(input:checked) { outline:2px solid var(--brand-accent);outline-offset:2px; }
.brand-choice input { position:absolute;right:13px;top:15px;width:20px;height:20px;accent-color:var(--brand-accent); }
.brand-swatch { display:flex;width:72px;height:32px;border:1px solid #ffffff;border-radius:8px;overflow:hidden;margin-right:16px; }
.brand-swatch i { flex:1;background:var(--brand-accent); }.brand-swatch i:nth-child(2){background:var(--brand-light)}.brand-swatch i:nth-child(3){background:var(--brand-paper)}
.brand-preview { padding:28px;border-radius:18px;background:var(--brand-paper);border:1px solid var(--line);color:var(--brand-accent);text-align:center; }
.brand-preview h3 { font-family:Georgia,serif;font-size:31px;color:inherit;margin:12px 0 0; }.brand-preview p{margin:5px 0 20px}.brand-preview .eyebrow{color:inherit}
.brand-preview-button { display:inline-block;padding:12px 20px;border-radius:8px;background:var(--brand-accent);color:#fff;font-size:16px; }
.salon-photo-gap { padding:22px;border:1px dashed var(--line);border-radius:14px;background:var(--surface);margin-bottom:30px; }.salon-photo-gap h3{margin-top:0}
body[data-theme] .qr-card{background:var(--surface)}body[data-theme] .team-benefits{background:var(--rose)}
@media(max-width:700px){.brand-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-choice{padding:17px 13px;min-height:104px;font-size:16px}.brand-options legend{font-size:25px}.brand-preview{padding:24px 16px}.salon-photo-gap{padding:18px}.brand-swatch{width:64px}}
body[data-theme] h1 em,body[data-theme] h2 em,body[data-theme] .salon-title,body[data-theme] .benefit-pair strong,body[data-theme] .benefit-pair div>span,body[data-theme] .benefit-label,body[data-theme] .team-benefits{color:var(--plum)}
body[data-theme] .benefit-box{background:var(--sand);border-color:var(--line)}body[data-theme] .qr-card,body[data-theme] .qr-card:before{border-color:var(--line)}body[data-theme] .avatar{background:var(--rose);color:var(--plum)}

/* v11: an open welcome, a deliberate private registration. */
.home-hero{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;padding:28px 0 65px}.home-copy{padding:15px 0}.home-copy h1{font-size:clamp(44px,5.4vw,69px);line-height:1.07;letter-spacing:-1.8px;margin:22px 0 25px}.home-copy .lede{max-width:440px;margin-bottom:29px;font-size:18px;line-height:1.75}.home-copy>.button{min-width:215px}.home-login{display:block;width:fit-content;margin:22px 0 0;font-size:15px;text-underline-offset:5px}.home-copy .fineprint{max-width:340px;margin-top:23px}.home-image{position:relative;margin:0;align-self:stretch;min-height:540px;overflow:hidden;border-radius:220px 220px 12px 12px;background:var(--rose)}.home-image img{height:100%;width:100%;object-fit:cover;object-position:51% center;position:absolute;inset:0}.home-image figcaption{position:absolute;bottom:0;left:0;width:100%;padding:40px 18px 17px;text-align:center;color:#fff;font-size:12px;background:linear-gradient(transparent,#30262bba)}.home-process{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;padding:59px 0 62px;border-top:1px solid var(--line)}.home-section-intro h2{font-size:38px;line-height:1.2;margin-top:19px}.home-steps{list-style:none;margin:0;padding:0}.home-steps li{display:flex;gap:23px;padding:0 0 25px;margin:0 0 25px;border-bottom:1px solid var(--line)}.home-steps li:last-child{border:0;margin:0;padding-bottom:0}.home-steps li>span{font-family:Georgia,serif;color:var(--gold);font-size:26px;line-height:1.3}.home-steps h3{font-size:18px;font-weight:500;margin-bottom:9px}.home-steps p{color:var(--muted);font-size:16px;line-height:1.75}.home-start{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;padding:42px;background:var(--sand);border-radius:12px;margin:0 0 25px}.home-start h2{font-size:39px;line-height:1.2;margin-top:18px}.home-start p{font-size:16px;line-height:1.8}.home-start p+p{margin-top:18px;color:var(--muted)}.home-actions{display:flex;flex-direction:column;align-items:flex-start;gap:20px;margin-top:26px}.registration-page .auth-art>.text-link{display:inline-block;position:relative;z-index:1;margin-top:30px}.registration-page .auth-art{overflow:hidden}.registration-page .auth-content h2{font-size:29px;margin-bottom:15px}.registration-page .auth-content p{line-height:1.75}.registration-page .auth-content .identity-card{margin-top:0}.registration-page .field{margin-top:22px}.registration-page .join-consent{align-items:flex-start;line-height:1.7}.registration-page .join-consent input{margin-top:5px;flex-shrink:0}.portal-salons{margin:28px 0}.portal-salon{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--plum);overflow-wrap:anywhere}.portal-salon:last-child{border-bottom:1px solid var(--line)}.portal-salon:hover{text-decoration:underline}.portal-note{margin:24px 0 14px}.registration-panel{margin-bottom:30px}.registration-panel .access-list{margin-top:20px}.registration-panel .access-person>.eyebrow{overflow-wrap:anywhere}.registration-panel .access-person .button-row{flex-wrap:wrap}
@media(max-width:900px){.home-hero{gap:32px}.home-image{min-height:480px}.home-process{gap:40px}.home-start{padding:32px;gap:40px}.home-copy h1{font-size:53px}}
@media(max-width:700px){.home-hero{display:flex;flex-direction:column;gap:25px;padding:12px 0 39px}.home-copy{width:100%;padding:0}.home-copy h1{font-size:clamp(43px,9vw,60px);margin:18px 0 20px}.home-copy h1 br:last-child{display:none}.home-copy .lede{max-width:100%;font-size:17px;margin-bottom:24px}.home-copy>.button{width:100%}.home-login{text-align:center;width:100%;margin-top:18px}.home-copy .fineprint{max-width:none;text-align:center;font-size:14px}.home-image{width:100%;height:300px;min-height:0;border-radius:135px 135px 10px 10px}.home-image img{object-position:center 41%}.home-process{grid-template-columns:1fr;gap:31px;padding:37px 0 39px}.home-section-intro h2{font-size:33px;margin-top:14px}.home-steps li{gap:18px}.home-start{grid-template-columns:1fr;padding:27px 23px;gap:23px}.home-start h2{font-size:34px;margin-top:14px}.home-actions{align-items:stretch}.home-actions .text-link{text-align:center;font-size:15px}.registration-page .auth-art p{display:block;margin-top:22px;font-size:15px;line-height:1.9}.registration-page .auth-art h1{font-size:38px}.registration-page .art-flower{opacity:.4}.registration-panel .button-row{flex-direction:column}}
@media(prefers-reduced-motion:no-preference){.home-image img{animation:home-reveal .7s ease-out}@keyframes home-reveal{from{opacity:.4;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}}
/* Keep sign-in and registration copy readable on the themed dark panel. */
body[data-theme] .auth-art h1 em{color:#e6cdb8}.auth-art>.text-link{color:#f4e6d8}
@media(max-width:700px){.registration-page .auth-art{padding:30px 24px 28px}.registration-page .auth-art h1{font-size:34px}.registration-page .auth-art>.text-link{margin-top:15px}}
/* Personal employee codes are visible at the first dashboard level. */
.employee-code{padding:10px 12px;background:var(--sand);border:1px solid var(--line);border-radius:8px;margin:12px 0;max-width:100%;text-align:left}.employee-code span{display:block;font-size:12px;color:var(--muted);line-height:1.4}.employee-code strong{display:block;font-size:16px;font-weight:600;letter-spacing:.5px;overflow-wrap:anywhere;line-height:1.5;margin-top:3px}.employee-code.compact{display:block;padding:0;border:0;background:none;font-size:12px;color:var(--muted);margin:5px 0}.personal-codes-panel{margin-bottom:26px}.personal-code-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.personal-code-card{border:1px solid var(--line);border-radius:10px;padding:20px;min-width:0;background:var(--surface)}.personal-code-card .member-name{font-size:19px}.personal-qr-link{display:flex;align-items:center;flex-direction:column;text-decoration:none;gap:10px;margin:17px 0}.personal-qr-link .qr-image{width:160px;height:160px;max-width:100%;border-radius:6px}.personal-qr-link span{font-size:14px;text-decoration:underline;text-underline-offset:4px}.employee-redemption-counts{margin:17px 0 20px}.employee-redemption-counts>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}.employee-redemption-counts dt{font-size:14px;color:var(--muted);line-height:1.5}.employee-redemption-counts dd{font:28px/1.2 Georgia,serif;margin:0;color:var(--plum)}.qr-card .employee-code{max-width:320px;width:100%;margin:15px auto}.employee-qr-preview .employee-code{max-width:100%}.customer-employee-choice{margin-top:24px}.customer-employee-choice h2{font-size:26px}.customer-employee-choice>p{font-size:15px;color:var(--muted);margin:13px 0}.customer-employee-choice .button{justify-content:space-between;margin-top:10px}.customer-employee-choice .avatar{width:32px;height:32px}
@media(max-width:920px){.personal-code-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.personal-code-grid{grid-template-columns:1fr}.personal-code-card{padding:20px}.employee-code strong{font-size:17px}.personal-codes-panel .section-heading{align-items:flex-start;flex-direction:column}.employee-redemption-counts dt{font-size:16px}.personal-code-card .button{font-size:16px;min-height:50px}}
.employee-status-actions{display:flex;flex-direction:column;gap:4px;margin:12px 0}.employee-status-actions .text-button{justify-content:flex-start}.employee-status-actions [data-action=archive]{color:var(--red)}.archived-team{margin-top:28px;padding:20px;border:1px solid var(--line);border-radius:10px}.archived-team>summary{font-size:18px;cursor:pointer}.archived-team .employee-grid{margin-top:20px}.visible-voucher{margin:22px 0 28px;border:1px solid var(--line);border-radius:10px;padding:18px;background:var(--sand)}.visible-voucher>h3{text-align:center;font-size:19px;line-height:1.4}.visible-voucher .voucher-mini{padding:12px 0 0}.visible-voucher .voucher-mini>p{font-size:14px;line-height:1.6;margin:12px 0;color:var(--muted)}

/* Salon-specific photos and durable deletion status. */
.salon-photo-panel{padding:24px;border:1px solid var(--line);border-radius:14px;margin:24px 0;background:var(--surface)}
.salon-photo-panel h3{margin-top:12px}.salon-photo-panel p,.photo-cleanup p{line-height:1.7}
.salon-photo-preview{margin:20px 0;max-width:600px}.salon-photo-preview img{display:block;width:100%;height:250px;object-fit:cover;border-radius:10px}.salon-photo-preview figcaption{font-size:14px;margin-top:8px}
.photo-cleanup{border-top:1px solid var(--line);margin-top:25px;padding-top:18px}.photo-cleanup h3{font-size:20px}.photo-cleanup .button{white-space:normal}
.photo-preview img{max-width:100%;max-height:280px;object-fit:contain}.staff-only .staff-salon-photo{margin-bottom:26px}.staff-only .staff-salon-photo .beauty-art{height:240px;min-height:0;border-radius:14px}.staff-only .staff-salon-photo .art-copy{display:none}
@media(max-width:480px){.salon-photo-panel{padding:17px}.salon-photo-panel .button-row{flex-direction:column}.salon-photo-preview img{height:190px}}
@media print{.staff-salon-photo{display:none!important}}
/* Keep the personal QR the main task on narrow staff displays. */
@media(max-width:760px){.staff-only .staff-salon-photo{margin-bottom:14px}.staff-only .staff-salon-photo .beauty-art{height:130px}.staff-only .staff-salon-photo .cover-brand{top:17px}.staff-only .staff-salon-photo .image-note{bottom:10px}.staff-only .qr-stage>.eyebrow{margin-bottom:8px}.staff-only .qr-card{padding-top:20px}.staff-only .qr-card h1{margin-top:12px;margin-bottom:12px}}

/* Employee display card: requested personal invitation, name remains attributed. */
.qr-card .personal-recommendation{max-width:270px;min-width:0;line-height:1.5;font-size:16px;text-align:left;overflow-wrap:anywhere;text-wrap:balance}.qr-card .personal-recommendation strong{display:block;margin-top:3px;font-size:17px}
