@font-face{font-family:Manrope;src:url('assets/manrope.ttf') format('truetype');font-weight:200 800;font-display:swap}@font-face{font-family:'DM Sans';src:url('assets/dm-sans.ttf') format('truetype');font-weight:100 1000;font-display:swap}
:root{--bg:#0c1714;--surface:#14231e;--surface2:#1a2e25;--border:#2b3c32;--text:#f2f5ef;--muted:#a7b7ab;--accent:#b8ed7c;--brand:#7dc242;--green:#9ddc81;--yellow:#f1c66c;--red:#f49c91;--shade:#101e18;--shadow:0 16px 55px #0002;color-scheme:dark;font-family:'DM Sans',system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:16px;line-height:1.5}body.light{--bg:#f1f4ed;--surface:#fff;--surface2:#eaf0e4;--border:#d8e0d3;--text:#15271c;--muted:#586b5c;--green:#397b2d;--yellow:#946210;--red:#b63f31;--shade:#e7ecdf;color-scheme:light}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:4px}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--accent)}.light a{color:#357321}svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-lg svg{width:32px;height:32px}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100vh}.sidebar{position:fixed;width:232px;inset:0 auto 0 0;padding:32px 22px;background:var(--shade);border-right:1px solid var(--border);display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-family:Manrope,system-ui,sans-serif;font-weight:800;font-size:19px;line-height:1.25}.brandmark{background:var(--accent);color:#183520;width:40px;height:44px;border-radius:12px;display:grid;place-items:center}.brand small{display:block;font-family:'DM Sans',sans-serif;font-size:10px;letter-spacing:1.8px;color:var(--muted);margin-top:5px;font-weight:500}.client-logo{background:#fff;border-radius:15px;padding:15px;margin:35px 0 10px;display:grid;place-items:center;min-height:116px}.client-logo img{width:150px;max-height:95px;object-fit:contain}.client-name{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin:11px 0 27px}.nav{display:grid;gap:7px}.nav button{border:0;background:none;text-align:left;display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;color:var(--muted);min-height:54px;font-size:14px}.nav button.active{background:#b8ed7c18;color:var(--accent)}.light .nav button.active{color:#396f21}.nav button:hover{background:var(--surface2);color:var(--text)}.side-bottom{margin-top:auto;padding-top:25px}.side-bottom p{font-size:10px;color:var(--muted);margin:24px 0 0}.side-bottom button{font-size:12px;min-height:46px}.main{grid-column:2;min-width:0}.topbar{height:92px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 40px;gap:20px}.crumb{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:9px}.crumb strong{color:var(--text);font-weight:500}.top-actions{display:flex;align-items:center;gap:12px}.pill{font-size:10px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:100px;border:1px solid var(--border);color:var(--muted)}.pill i,.status-dot{width:6px;height:6px;background:var(--accent);border-radius:100%;display:inline-block}.icon-btn{border:1px solid var(--border);background:var(--surface);width:48px;height:48px;border-radius:50%;display:grid;place-items:center;position:relative}.unread{position:absolute;right:8px;top:7px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#466046;color:#ecf4dc;font-size:13px;font-weight:700}.content{padding:36px 40px 55px;max-width:1360px;margin:auto}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--accent);margin:0 0 10px}.light .eyebrow{color:#397421}h1,h2,h3{font-family:Manrope,system-ui,sans-serif;line-height:1.18;letter-spacing:-1px;margin:0}h1{font-size:38px;font-weight:700}h2{font-size:24px;font-weight:700;letter-spacing:-.6px}h3{font-size:18px;letter-spacing:-.3px}.muted{color:var(--muted)}.subtitle{color:var(--muted);margin:11px 0 0;font-size:14px}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:26px}.date{font-size:12px;color:var(--muted);text-align:right;padding-top:5px;line-height:1.8}.search-wrap{position:relative;margin:25px 0}.searchbox{display:flex;align-items:center;gap:13px;border:1px solid var(--border);background:var(--surface);border-radius:15px;padding:0 19px;height:62px}.searchbox input{background:none;border:0;outline:0;color:var(--text);width:100%;height:100%;font-size:14px}.searchbox input::placeholder{color:var(--muted)}kbd{border:1px solid var(--border);border-radius:5px;padding:1px 6px;font-size:11px;color:var(--muted)}.search-results{position:absolute;inset:66px 0 auto;z-index:30;padding:8px;background:var(--surface2);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow)}.search-results:empty{display:none}.search-results button{width:100%;border:0;border-radius:8px;background:transparent;display:flex;gap:12px;align-items:center;text-align:left;padding:16px}.search-results button:hover{background:var(--surface)}.hero{background:var(--accent);color:#193021;border-radius:22px;padding:28px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;overflow:hidden}.hero .eyebrow{color:#34552d}.hero h2{font-size:28px;max-width:360px}.hero p{font-size:14px;margin:12px 0 22px;color:#3b5736;max-width:400px}.hero .btn{background:#193622;color:#edf7e7;border-color:#193622}.hero-art{width:142px;min-width:142px;height:142px;display:grid;place-items:center;border:1px solid #23482135;border-radius:50%;position:relative}.hero-art:before,.hero-art:after{content:'';position:absolute;border:1px solid #23482120;border-radius:50%;inset:-15px}.hero-art:after{inset:-30px}.hero-art svg{width:66px;height:66px;stroke-width:1.1}.btn{min-height:52px;border-radius:12px;border:1px solid var(--border);background:var(--surface2);padding:12px 19px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:14px;text-decoration:none;white-space:normal}.btn.primary{background:var(--accent);border-color:var(--accent);color:#193321}.btn.ghost{background:transparent}.btn.danger{color:var(--red)}.btn.small{min-height:44px;padding:9px 14px;font-size:12px}.btn.full{width:100%}.text-btn{background:transparent;border:0;padding:10px 0;min-height:44px;color:var(--muted);display:inline-flex;gap:8px;align-items:center;font-size:13px}.text-btn:hover{color:var(--text)}.alert{display:flex;gap:13px;align-items:center;border:1px solid #b58b3a4d;background:#b58b3a0b;padding:17px 20px;border-radius:15px;color:var(--yellow);margin:22px 0}.alert p{margin:0;font-size:13px}.alert strong{font-size:14px;font-weight:600}.alert button{margin-left:auto;color:var(--yellow)}.alert svg{width:22px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:29px 0 17px}.section-title h2{font-size:19px}.section-title span{font-size:12px;color:var(--muted)}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.tile{background:var(--surface);border:1px solid var(--border);padding:22px;text-align:left;border-radius:18px;min-height:166px;position:relative;transition:transform .18s,border-color .18s}.tile:hover{transform:translateY(-3px);border-color:var(--brand)}.tile .tileicon{width:43px;height:43px;border-radius:13px;background:#b8ed7c0c;color:var(--accent);display:grid;place-items:center;margin-bottom:20px}.light .tile .tileicon{color:#3b7429;background:#edf4e8}.tile strong{font-family:Manrope,sans-serif;font-size:16px;display:block;font-weight:600;letter-spacing:-.3px}.tile small{font-size:11px;color:var(--muted);display:block;margin-top:6px}.tile>.arrow{position:absolute;right:20px;top:24px;color:var(--muted)}.arrow svg{width:17px;height:17px}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:7px;font-size:11px;line-height:1.4;background:var(--surface2);color:var(--muted);white-space:nowrap;font-weight:600}.badge.approved{background:#82bf6a16;color:var(--green)}.badge.pending,.badge.soon{background:#d9ab4317;color:var(--yellow)}.badge.expired,.badge.rejected{background:#ea847717;color:var(--red)}.badge.missing{background:#a5b2a010;color:var(--muted)}.badge svg{height:13px;width:13px}.bottom-note{margin:25px 0 0;font-size:11px;color:var(--muted);display:flex;align-items:center;gap:8px}.bottom-note svg{width:15px;height:15px}.card{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:25px}.card+.card{margin-top:18px}.two-col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}.summary-card{display:flex;align-items:center;gap:27px;margin:0 0 24px;padding:27px}.ring{--progress:50;position:relative;width:112px;height:112px;min-width:112px;border-radius:50%;background:conic-gradient(var(--accent) calc(var(--progress)*1%),var(--border) 0);display:grid;place-items:center}.ring:before{content:'';position:absolute;inset:8px;border-radius:50%;background:var(--surface)}.ring span{position:relative;font-size:27px;font-family:Manrope;font-weight:700;letter-spacing:-1px}.ring small{font-size:13px}.summary-card h2{font-size:23px}.summary-card p{margin:8px 0 12px;color:var(--muted);font-size:13px}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:11px;color:var(--muted);margin:18px 0}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;background:var(--muted)}.legend i.green{background:var(--green)}.legend i.yellow{background:var(--yellow)}.legend i.red{background:var(--red)}.list{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface)}.list-row{padding:20px 23px;display:flex;align-items:center;gap:15px;border-bottom:1px solid var(--border);min-height:87px}.list-row:last-child{border:0}.rowicon{display:grid;place-items:center;min-width:39px;width:39px;height:42px;color:var(--muted);border-radius:12px;background:var(--surface2)}.rowicon.approved{color:var(--green)}.rowicon.expired,.rowicon.rejected{color:var(--red)}.rowicon.pending{color:var(--yellow)}.rowmain{flex:1;min-width:0}.rowmain strong{font-size:14px;display:block;font-weight:600}.rowmain small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.row-actions{display:flex;gap:10px;align-items:center}.list-row .text-btn{font-size:12px}.help-card{border:1px dashed var(--border);padding:23px;border-radius:18px;margin-top:20px}.help-card p{font-size:13px;margin:10px 0 0;color:var(--muted)}.help-card h3{font-size:16px}.steps{display:flex;gap:8px;align-items:center;margin:0 0 27px}.steps span{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--muted);flex:1}.steps b{font-size:11px;width:27px;height:27px;border:1px solid var(--border);border-radius:50%;display:grid;place-items:center}.steps span.active{color:var(--accent)}.light .steps span.active{color:#397421}.steps span.active b{background:var(--accent);color:#1b331e;border-color:var(--accent)}label{display:block;font-size:13px;font-weight:600;margin-bottom:10px}.field{margin-bottom:23px}.field:last-child{margin-bottom:0}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{width:100%;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:11px;min-height:54px;padding:13px 15px;outline-offset:2px}input[type=date]{min-width:0}textarea{min-height:110px;resize:vertical}.hint{font-size:11px;color:var(--muted);margin:8px 0 0}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #6c8c56;border-radius:15px;background:#b8ed7c05;padding:27px 15px;position:relative;min-height:170px;font-size:14px;cursor:pointer}.dropzone svg{color:var(--accent);margin:0 0 12px;width:30px;height:30px}.dropzone input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}.dropzone small{font-size:11px;color:var(--muted);margin-top:7px}.preview{max-width:100%;max-height:170px;object-fit:contain;display:block;border-radius:8px;margin:12px auto}.auto-result{background:#82bf6a10;border:1px solid #82bf6a40;padding:18px;border-radius:13px;margin-top:15px;display:flex;gap:12px;align-items:flex-start}.auto-result svg{color:var(--accent)}.auto-result strong{font-size:14px;display:block}.auto-result p{color:var(--muted);font-size:12px;margin:4px 0}.auto-result .text-btn{margin-left:auto;white-space:nowrap;min-height:30px;padding:0}.auto-result.updated{animation:glow .7s ease}@keyframes glow{50%{box-shadow:0 0 0 6px #b8ed7c20}}.sidepanel h3{font-size:17px}.sidepanel p{font-size:13px;color:var(--muted)}.sidepanel .feature{display:flex;gap:12px;margin-top:22px;font-size:12px;color:var(--muted)}.sidepanel .feature svg{color:var(--accent);width:20px;height:20px}.sidepanel .feature strong{color:var(--text);font-weight:500;display:block;margin-bottom:4px}.divider{height:1px;background:var(--border);margin:23px 0}.signature{background:#f7f8f1;border-radius:13px;overflow:hidden;position:relative}.signature canvas{width:100%;height:170px;display:block;touch-action:none;cursor:crosshair}.signature:after{content:'SIGN ABOVE THE LINE';pointer-events:none;position:absolute;bottom:12px;left:20px;right:20px;border-top:1px solid #a4afa0;padding-top:6px;color:#7a8774;font-size:9px;letter-spacing:2px}.document-head{background:white;border-radius:12px;padding:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px;color:#243822}.document-head img{width:154px}.document-head span{font-size:11px;text-align:right}.document p,.document li{font-size:13px;color:var(--muted)}.document ul{padding-left:20px}.document li{margin-bottom:10px}.check{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--border);border-radius:12px;padding:15px;margin-bottom:10px;min-height:54px;cursor:pointer;font-size:13px;font-weight:500}.check input{width:21px;height:21px;min-width:21px;accent-color:var(--brand);margin:0}.check small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.checks-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.checks-grid .check{margin:0}.hazard-control{padding:0 0 15px 35px}.hazard-control textarea{min-height:65px;font-size:12px}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.chip{border:1px solid var(--border);border-radius:100px;min-height:46px;background:transparent;padding:11px 18px;font-size:12px;color:var(--muted)}.chip.active{background:var(--accent);border-color:var(--accent);color:#1b331e;font-weight:700}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:23px 0}.stat{border:1px solid var(--border);border-radius:15px;padding:22px;background:var(--surface)}.stat b{font-size:29px;display:block;font-family:Manrope}.stat span{font-size:12px;color:var(--muted)}.stat.red b{color:var(--red)}.stat.yellow b{color:var(--yellow)}.stat.green b{color:var(--green)}.progress{height:6px;border-radius:4px;background:var(--border);overflow:hidden;margin-top:9px}.progress i{display:block;height:100%;background:var(--accent);border-radius:4px}.company-select{background:var(--surface);padding:12px 16px;font-size:12px;max-width:300px;min-height:48px}.success{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 20px}.success .success-icon{width:95px;height:95px;border-radius:50%;background:var(--accent);display:grid;place-items:center;color:#18351f;margin-bottom:25px;animation:pop .5s}.success-icon svg{width:44px;height:44px}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.1)}100%{transform:scale(1)}}.success p{max-width:380px;color:var(--muted);font-size:14px;margin:15px 0 28px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,20px);background:var(--accent);color:#20351b;border-radius:13px;padding:15px 24px;font-size:13px;box-shadow:var(--shadow);opacity:0;transition:.25s;z-index:100;pointer-events:none;max-width:90vw;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.login{min-height:100vh;display:grid;grid-template-columns:1.1fr 1fr}.login-visual{background:#0f2a20;position:relative;overflow:hidden;display:flex;flex-direction:column;padding:45px 50px;color:#f1f7e7}.login-visual:before{content:'';position:absolute;left:-250px;top:230px;width:850px;height:850px;border:1px solid #a3d96c18;border-radius:50%;pointer-events:none}.login-visual:after{content:'';position:absolute;left:-180px;top:300px;width:710px;height:710px;border:1px solid #a3d96c18;border-radius:50%;pointer-events:none}.login-visual .brand small{color:#a5b8a6}.login-visual .brand{z-index:1}.login-art{flex:1;display:flex;align-items:center;justify-content:center;padding:15px;z-index:1;min-height:290px}.login-art img{width:330px;max-width:100%;mix-blend-mode:screen}.login-copy{position:relative;z-index:1;padding-bottom:35px}.login-copy h1{font-size:48px;font-weight:600;line-height:1.18;letter-spacing:-1.9px}.login-copy h1 em{font-style:normal;color:#b8ed7c}.login-copy p{font-size:13px;color:#a5b8a6;max-width:310px;line-height:1.8;margin-top:22px}.visual-foot{font-size:10px;color:#a5b8a6;letter-spacing:.7px;z-index:1}.login-formside{padding:45px 55px;display:flex;flex-direction:column;justify-content:center;position:relative}.login-formside .login-top{position:absolute;left:40px;right:40px;top:30px;display:flex;align-items:center;justify-content:space-between}.login-inner{width:100%;max-width:380px;margin:50px auto 15px}.login-inner h2{font-size:30px}.roles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:28px 0 24px}.role{border:1px solid var(--border);background:var(--surface);padding:19px 16px;border-radius:14px;min-height:120px;text-align:left;position:relative}.role svg{color:var(--muted);margin-bottom:10px}.role span{display:block;font-size:14px;font-weight:600}.role small{font-size:11px;color:var(--muted)}.role.active{border-color:var(--accent);background:#b8ed7c0a}.role.active svg{color:var(--accent)}.role.active:after{content:'✓';position:absolute;top:13px;right:14px;font-size:12px;color:var(--accent)}.login-client{font-size:12px;padding:15px;border:1px solid var(--border);border-radius:12px;display:flex;gap:12px;align-items:center;margin-bottom:23px;color:var(--muted)}.login-client svg{width:19px;color:var(--accent)}.login-client strong{color:var(--text);display:block;font-size:12px;font-weight:500}.login-notice{font-size:11px;color:var(--muted);text-align:center;margin:20px 0}.login-footer{font-size:10px;color:var(--muted);text-align:center;margin-top:auto;padding-top:20px}.bottom-nav{display:none}.mobile-brand{display:none}.empty{padding:45px 20px;text-align:center;color:var(--muted)}.empty svg{color:var(--accent);height:40px;width:40px;margin-bottom:10px}.notification{align-items:flex-start}.notification .rowicon{margin-top:3px}.notification .rowmain p{font-size:12px;color:var(--muted);margin:7px 0 0}.notification .rowmain small{font-size:10px}.fake-label{font-size:10px;color:var(--muted);border:1px solid var(--border);padding:3px 7px;border-radius:5px}.review-image{height:150px;background:#f1f2e8;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#31432a;text-align:center;font-size:12px;margin:18px 0;overflow:hidden}.review-image img{width:100%;height:100%;object-fit:contain}.button-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:22px}.article-number{font-family:Manrope;font-size:14px;color:var(--muted);width:35px;min-width:35px}.sop-detail p,.sop-detail li{font-size:14px;color:var(--muted);line-height:1.8}.sop-detail li{margin-bottom:12px}.field-error{color:var(--red);font-size:12px;margin:9px 0}.audit{font-size:11px;color:var(--muted);padding-top:10px}.quiet{font-size:11px;color:var(--muted);line-height:1.8}.offline{color:var(--yellow)}
@media(min-width:1400px){.content{padding-top:45px}.hero{padding:35px}.tiles{gap:20px}.tile{min-height:185px}.tile strong{font-size:18px}.hero h2{font-size:34px}}
@media(max-width:1100px){.sidebar{width:205px;padding:28px 18px}.shell{grid-template-columns:205px 1fr}.brand{font-size:17px}.brandmark{width:35px;height:40px}.topbar{padding:0 28px}.content{padding:30px 28px 40px}.tile{padding:20px 17px}.tile strong{font-size:15px}.tile small{font-size:10px}.two-col{grid-template-columns:1.5fr 1fr;gap:18px}.login-visual{padding:40px 32px}.login-formside{padding:40px 32px}.login-copy h1{font-size:43px}.login-art img{width:280px}}
@media(max-width:850px){.shell{grid-template-columns:175px 1fr}.sidebar{width:175px;padding:25px 14px}.brand{font-size:15px;gap:7px}.brandmark{width:30px;height:36px}.brand small{font-size:8px}.client-logo{padding:12px;min-height:100px}.client-logo img{width:120px}.nav button{padding:13px 10px;font-size:12px;gap:8px}.nav svg{width:20px}.topbar{padding:0 23px;height:82px}.content{padding:28px 23px 40px}h1{font-size:31px}.tiles{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}.hero-art{width:110px;height:110px;min-width:110px}.hero{padding:25px}.hero h2{font-size:25px}.two-col>.sidepanel{display:none}.date{font-size:10px}.list-row{padding:18px;gap:12px}.row-actions{gap:7px}.stat{padding:18px}.login-visual{padding:40px 28px}.login-copy h1{font-size:39px}.login-formside{padding:40px 25px}.login .login-top{left:25px;right:25px}.login-art{padding:0}.login-art img{width:245px}.login-copy p{font-size:12px}.company-select{max-width:240px}}
@media(max-width:600px){.sidebar{display:none}.shell{display:block}.main{padding-bottom:78px}.topbar{height:78px;padding:0 20px}.crumb{display:none}.mobile-brand{display:flex}.top-actions{gap:9px}.top-actions>.pill,.top-actions>.avatar{display:none}.icon-btn{width:43px;height:43px}.content{padding:25px 20px 30px}.date{display:none}h1{font-size:31px}.pagehead{gap:10px}.pagehead .btn{font-size:11px;padding:9px;min-height:44px}.hero{padding:24px;border-radius:19px;gap:8px}.hero h2{font-size:24px}.hero p{font-size:12px}.hero-art{min-width:70px;width:70px;height:70px;margin-right:8px}.hero-art svg{width:36px;height:36px}.hero-art:after{inset:-20px}.hero-art:before{inset:-10px}.hero .btn{font-size:12px;padding:10px 13px;min-height:48px}.alert{padding:15px 13px;gap:9px}.alert strong{font-size:12px}.alert p{font-size:11px}.alert .text-btn{font-size:10px}.alert .text-btn svg{display:none}.tiles{gap:11px}.tile{min-height:151px;padding:19px 17px}.tile strong{font-size:14px}.tile .tileicon{margin-bottom:17px}.tile small{font-size:10px}.tile>.arrow{right:15px;top:23px}.searchbox{height:57px}.searchbox input{font-size:12px}kbd{display:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--shade);border-top:1px solid var(--border);display:flex;z-index:40;padding:9px 9px max(9px,env(safe-area-inset-bottom))}.bottom-nav button{flex:1;background:none;border:0;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:9px;padding:6px;min-height:52px;border-radius:12px}.bottom-nav button.active{color:var(--accent);background:#b8ed7c0a}.bottom-nav svg{width:21px;height:21px}.summary-card{padding:20px;gap:19px}.ring{width:87px;height:87px;min-width:87px}.ring:before{inset:6px}.ring span{font-size:23px}.summary-card h2{font-size:19px}.summary-card p{font-size:11px}.legend{gap:12px;font-size:10px}.list-row{padding:17px 14px;gap:10px;flex-wrap:wrap}.rowmain strong{font-size:12px}.rowmain small{font-size:10px}.rowicon{min-width:32px;width:32px;height:37px}.rowicon svg{width:20px}.row-actions{margin-left:auto}.row-actions .badge{font-size:9px;padding:5px 7px}.row-actions .btn{font-size:10px;padding:8px 10px;min-height:44px}.onboarding .rowmain{min-width:calc(100% - 50px)}.onboarding .row-actions{margin-left:42px;width:100%;justify-content:space-between}.card{padding:21px}.fields{grid-template-columns:1fr;gap:0}.steps span{font-size:10px}.steps b{width:23px;height:23px}.stat-grid{gap:9px}.stat{padding:16px 12px}.stat b{font-size:25px}.stat span{font-size:10px}.checks-grid{grid-template-columns:1fr 1fr;gap:8px}.check{font-size:12px;padding:13px 10px;gap:8px}.company-select{max-width:100%;font-size:11px}.admin-company{display:block!important}.admin-company select{margin-top:16px}.document-head img{width:125px}.document-head span{font-size:9px}.toast{bottom:95px;width:90vw}.login{display:block}.login-visual{padding:25px 25px 27px;min-height:250px}.login-visual .brand{font-size:17px}.login-visual .brandmark{width:35px;height:39px}.login-visual .brand small{font-size:9px}.login-art{position:absolute;width:140px;right:10px;top:85px;min-height:0;opacity:.65}.login-art img{width:140px}.login-copy{padding:34px 0 0}.login-copy h1{font-size:30px;max-width:240px}.login-copy p{display:none}.visual-foot{display:none}.login-formside{padding:30px 24px}.login-formside .login-top{position:static;margin-bottom:24px}.login-inner{margin:0 auto}.login-inner h2{font-size:26px}.login-footer{margin-top:15px}.roles{margin-top:22px}.role{min-height:105px;padding:15px}.login-notice{font-size:10px}.login-client{padding:13px}.login-formside>.login-footer{padding-bottom:10px}.chip{padding:10px 14px}.success{padding:40px 10px}.help-card{padding:20px}.article-number{width:25px;min-width:25px}.sop-list .rowmain{min-width:200px}.sop-list .row-actions{margin-left:35px}.bottom-note{font-size:10px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ===== Punch In v2 additions ===== */
body.pi{--bg:#0d1524;--surface:#141e30;--surface2:#1b2840;--border:#2a3953;--text:#f2f5fa;--muted:#9eadc4;--accent:#b8ed7c;--brand:#ffb547;--green:#9ddc81;--yellow:#f5c76a;--red:#f49c91;--shade:#0a111e}
body.pi.light{--bg:#f3f5f9;--surface:#fff;--surface2:#e9eef5;--border:#d5dce8;--text:#14213a;--muted:#56657e;--green:#2f7a2a;--yellow:#8f5d0a;--red:#b3402f;--shade:#e6ebf3}
.pi .avatar{background:#2b3d5c;color:#eef3fb}
.pi .login-visual{background:radial-gradient(120% 90% at 85% 10%,#1d2f52 0%,#0b1426 55%,#081020 100%);color:#eef3fb}
.pi .login-visual:before,.pi .login-visual:after{border-color:#ffb54714}
.pi .login-visual .brand small,.pi .login-copy p,.pi .visual-foot{color:#9eadc4}
.pi .login-copy h1 em{color:var(--accent)}
.pi .login-visual .eyebrow{color:#ffb547}
.pi-art{width:300px;max-width:100%;height:auto;overflow:visible}
.pi-art .ring1{fill:#ffffff06;stroke:#ffb547;stroke-width:3}
.pi-art .ring2{fill:none;stroke:#ffb54733;stroke-width:1.5}
.pi-art .ticks line{stroke:#ffb547aa;stroke-width:3;stroke-linecap:round}
.pi-art .check{fill:none;stroke:#b8ed7c;stroke-width:16;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:200;stroke-dashoffset:200;animation:draw 0.9s .25s ease forwards}
@keyframes draw{to{stroke-dashoffset:0}}
.brand>span:last-child small{display:block;font-family:'DM Sans',sans-serif;font-size:9.5px;letter-spacing:2.4px;color:var(--muted);margin-top:3px;font-weight:600}
.pi .brandmark{box-shadow:0 0 0 3px #ffb54733}
.text-logo{color:#14213a;font-size:17px;text-align:center;letter-spacing:-.3px;line-height:1.2}
.text-logo small{display:block;font-size:9px;letter-spacing:2px;color:#8a6420;margin-top:6px;font-family:'DM Sans',sans-serif}
.invite-cta{display:flex;align-items:center;gap:12px;border:1px dashed var(--border);border-radius:14px;padding:14px 16px;margin-top:20px;font-size:12px;color:var(--muted)}
.invite-cta>svg{color:var(--brand);width:22px}
.invite-cta strong{display:block;color:var(--text);font-size:13px}
.invite-cta .btn{margin-left:auto;white-space:nowrap}
.demo-tip{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin:16px 0 0;justify-content:center}
.demo-tip svg{width:16px;height:16px;color:var(--brand)}
.demo-tip b{font-family:ui-monospace,Menlo,monospace;color:var(--text);letter-spacing:1px}
.code-input{font-family:ui-monospace,Menlo,monospace!important;font-size:26px!important;letter-spacing:6px;text-align:center;text-transform:uppercase;min-height:66px!important}
.code-big{font-family:ui-monospace,Menlo,monospace;font-size:44px;font-weight:700;letter-spacing:8px;text-align:center;padding:18px 10px;border-radius:16px;background:var(--bg);border:2px dashed var(--accent);color:var(--accent);margin:6px 0 10px;word-break:break-all}
.light .code-big{color:#2f6a1f}
.copyrow{display:flex;gap:8px}
.copyrow input{font-size:12px!important}
.mono{font-family:ui-monospace,Menlo,monospace;letter-spacing:1.5px}
.center{text-align:center}
.eyebrow.ok{display:flex;align-items:center;gap:6px}
.eyebrow.ok svg{width:16px;height:16px}
.text-btn.inline{display:inline;padding:0;min-height:0;color:var(--accent);font-weight:600;text-decoration:underline}
.field-error{background:#ea84771a;border:1px solid #ea847755;border-radius:10px;padding:10px 12px}
.field-error[hidden]{display:none}
.invite-made{border-color:var(--accent)}
.narrow{max-width:560px}
input.auto,input[readonly]{background:var(--surface2)!important;color:var(--muted)!important}
.shift{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;white-space:nowrap}
.shift svg{width:14px;height:14px}
.shift.days{background:#ffb5471f;color:#f5b84f}
.shift.nights{background:#7ea6ff22;color:#a9c3ff}
.light .shift.days{color:#8a5a00}
.light .shift.nights{color:#2f4fa8}
.shift.none{background:var(--surface2);color:var(--muted);font-weight:500}
.daycount{color:var(--text);font-weight:700}
.toggle2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.toggle2 button{min-height:68px;border-radius:14px;border:2px solid var(--border);background:var(--bg);font-size:17px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px}
.toggle2 button.active{border-color:var(--accent);background:var(--accent);color:#17301f}
.same-btn{width:100%;display:flex;align-items:center;gap:14px;text-align:left;border:2px dashed var(--accent);background:#b8ed7c10;border-radius:16px;padding:16px 18px;margin-bottom:24px;min-height:72px}
.same-btn>svg{width:30px;height:30px;color:var(--accent)}
.same-btn strong{display:block;font-size:16px}
.same-btn small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.same-btn.active{border-style:solid}
.changed-q{border:1px solid var(--brand);background:#ffb5470d;border-radius:16px;padding:18px;margin-bottom:24px}
.changed-q h3{margin-bottom:4px}
.changed-q .toggle2 button{font-size:14px;min-height:58px}
.changed-q textarea{margin-top:12px}
.big-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.big-actions.three{grid-template-columns:repeat(3,1fr);margin:0 0 10px}
.bigbtn{display:flex;align-items:center;gap:14px;text-align:left;border:1px solid var(--border);background:var(--surface2);border-radius:16px;padding:18px;min-height:84px;font-size:17px;font-weight:700}
.bigbtn svg{width:28px;height:28px;color:var(--accent)}
.bigbtn small{display:block;font-size:12px;font-weight:500;color:var(--muted);margin-top:2px}
.bigbtn.primary{background:var(--accent);border-color:var(--accent);color:#17301f}
.bigbtn.primary svg,.bigbtn.primary small{color:#2c4a28}
.bigbtn.done svg{color:var(--green)}
.bigbtn.ghost{background:transparent}
.btn.big{min-height:60px;font-size:16px;padding:14px 24px}
.alert.done{border-color:#82bf6a55;background:#82bf6a10;color:var(--green)}
.alert.report-due{border-color:#ea847766;background:#ea84770d;color:var(--red)}
.alert.report-due .btn{margin-left:auto;color:#17301f}
.tile.due{border-color:#ea847799}
.tile.due small{color:var(--red)}
.stat.duration b small{font-size:15px;font-weight:600;color:var(--muted)}
.stat.duration em{display:block;font-style:normal;font-size:12px;font-weight:700;margin-top:6px;color:var(--text)}
.stat-grid.four{grid-template-columns:repeat(4,1fr)}
.fields.three{grid-template-columns:repeat(3,1fr)}
.rowbtn{width:100%;background:transparent;border:0;border-bottom:1px solid var(--border);text-align:left;color:inherit;font:inherit;cursor:pointer}
.rowbtn:hover{background:var(--surface2)}
.list>.rowbtn:last-child{border-bottom:0}
.rowmain small b{font-weight:700}
.report-table .list-row{display:grid;grid-template-columns:1.3fr 1.1fr .8fr .8fr .8fr auto;min-height:62px;padding:12px 20px;font-size:13px}
.report-table .thead{min-height:44px;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);background:var(--surface2)}
.report-view{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:0;margin:0 0 18px;border:1px solid var(--border);border-radius:14px;overflow:hidden}
.report-view dt,.report-view dd{margin:0;padding:13px 16px;border-bottom:1px solid var(--border);font-size:14px}
.report-view dt{color:var(--muted);background:var(--surface2);font-size:12px;font-weight:600}
.report-view dd{white-space:pre-line}
.pre{white-space:pre-line}
.admin-company label{font-size:11px;color:var(--muted);margin-bottom:6px}
@media(max-width:850px){.big-actions.three{grid-template-columns:1fr 1fr 1fr}.fields.three{grid-template-columns:1fr 1fr}.stat-grid.four{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.big-actions,.big-actions.three{grid-template-columns:1fr}.fields.three{grid-template-columns:1fr}.pi-art{width:120px}.code-big{font-size:32px;letter-spacing:5px}.report-table .list-row{grid-template-columns:1.2fr 1fr .7fr .7fr;font-size:11px;padding:10px 12px}.report-table .list-row>span:nth-child(5),.report-table .list-row>span:nth-child(6){display:none}.report-view{grid-template-columns:1fr}.report-view dt{border-bottom:0;padding-bottom:4px}.invite-cta{flex-wrap:wrap}.stat-grid{grid-template-columns:1fr 1fr 1fr}}
.login-inner form{margin-top:22px}
.sidebar .brand>span:last-child small{letter-spacing:1.2px;font-size:8.5px;white-space:nowrap}
.invites-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
@media(max-width:900px){.invites-grid{grid-template-columns:1fr}}
.code-input::placeholder{text-transform:none;letter-spacing:.5px;font-size:16px;font-family:"DM Sans",sans-serif}

/* v3 personal paperwork wallet */
.document-intro{display:flex;align-items:center;gap:24px;justify-content:space-between}.document-intro p{max-width:700px}.document-intro>.btn{flex-shrink:0;min-height:60px}.document-actions{display:flex;gap:10px;flex-wrap:wrap}.document-actions .btn{min-height:48px}.document-filename{overflow-wrap:anywhere}.document-row .rowmain{min-width:0}.document-dialog{width:min(960px,94vw);height:85vh;background:var(--surface,#14243a);color:var(--text,#fff);border:1px solid #61758d;border-radius:16px;padding:18px}.document-dialog::backdrop{background:#000b}.document-dialog iframe{width:100%;height:calc(100% - 75px);border:0;background:white}.document-dialog .button-row{justify-content:space-between}.document-dialog strong{overflow-wrap:anywhere}.btn:disabled{opacity:.45;cursor:not-allowed}@media(max-width:650px){.document-intro{display:block}.document-intro>.btn{width:100%;margin-top:16px}.document-row{flex-wrap:wrap;gap:12px}.document-row>.tileicon{display:none}.document-row>.rowmain{flex-basis:100%}.document-actions{width:100%}.document-actions .btn{flex:1;justify-content:center}.document-dialog{padding:10px}.document-dialog .button-row strong{max-width:65%}}
.pw-wrap{position:relative}.pw-wrap input{padding-right:56px!important}.pw-eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:44px;height:44px;min-width:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);display:grid;place-items:center;padding:0}.pw-eye:hover,.pw-eye[aria-pressed=true]{color:var(--accent)}.light .pw-eye[aria-pressed=true]{color:#397421}.pw-eye svg{width:22px;height:22px}.pw-eye:focus-visible{outline-offset:0}

/* v6 legal, first client signup, company-local branding and owner console */
.legal-agreement{margin:22px 0 18px;font-size:14px;line-height:1.65}.legal-draft{border:1px solid var(--yellow);border-radius:9px;padding:10px 12px;color:var(--yellow);font-size:12px;line-height:1.6}.legal-check{display:flex;align-items:flex-start;gap:13px}.legal-check input{flex:0 0 24px;width:24px;height:24px;margin:3px 0;accent-color:var(--accent)}.legal-agreement a,.legal-footer a,.login-footer a{display:inline;text-decoration:underline;text-underline-offset:3px}.legal-notice{font-size:13px}.legal-footer{margin:30px 0 15px;font-size:13px;line-height:2}.account-panel{max-width:700px;margin:60px auto;padding:30px}.account-panel form{margin:30px 0}.tenant .brand{font-size:15px}.tenant-brand img{width:46px;height:46px;object-fit:contain;background:white;border-radius:8px}.tenant .client-name{overflow-wrap:anywhere}.tenant .brand span{overflow-wrap:anywhere}.tenant-slate{--bg:#111a27;--surface:#1a283a;--surface2:#22344b;--border:#3c526c;--text:#f6f7fa;--muted:#b0c0d5;--shade:#0d1622}.tenant-slate.light{--bg:#f1f4f8;--surface:#fff;--surface2:#e5edf5;--border:#c7d1df;--text:#15243a;--muted:#4f6078;--shade:#e3eaf2}.tenant.light a,.tenant.light .eyebrow,.tenant.light .nav button.active,.tenant.light .tile .tileicon,.tenant.light .code-big{color:var(--text)}.tenant .hero{color:#142332}.tenant .hero p,.tenant .hero .eyebrow{color:#25354a}.tenant .hero .btn{background:#142332;color:white;border-color:#142332}.tenant .btn.primary,.tenant .bigbtn.primary{color:#142332}.tenant .text-logo{color:#142332}.brand-previews{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.brand-preview{padding:20px;border-radius:12px;background:#111a27;color:#f6f7fa;border:2px solid var(--preview-primary)}.brand-preview.light{background:#f4f6fa;color:#16253a}.brand-preview small{font-size:11px;letter-spacing:1px}.brand-preview h3{margin:14px 0}.preview-primary{display:block;border-left:4px solid var(--preview-primary);padding:8px;font-size:12px}.preview-action{display:inline-block;background:var(--preview-accent);color:#142332;border-radius:7px;padding:9px;font-size:12px;margin-top:13px}input[type=color]{width:100%;min-height:48px;padding:5px}.owner-matrix{background:#020805;color:#e2f8e9;color-scheme:dark;--accent:#80ffac;--brand:#38d577;--border:#27533a;--surface:#06190fef;--surface2:#0b2b1b;--text:#e2f8e9;--muted:#a0c9af;--yellow:#efcf7b;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.owner-matrix #matrix-rain{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.32}.owner-console{position:relative;z-index:1;max-width:1440px;margin:0 auto;padding:38px 28px 70px}.owner-console header{background:#04150cde;border:1px solid #397850;border-radius:16px;padding:26px;margin-bottom:20px}.owner-console h1,.owner-console h2{font-family:inherit;color:#a6ffc5}.owner-console h1{font-size:34px}.owner-console h2{font-size:22px;margin-bottom:20px}.owner-console .card{background:#06190ff2;box-shadow:0 8px 30px #0005}.owner-console .table-scroll{overflow-x:auto;max-width:100%}.owner-console table{border-collapse:collapse;width:100%;font-size:13px}.owner-console th{text-align:left;color:#a6ffc5;font-size:12px;white-space:nowrap}.owner-console td,.owner-console th{padding:15px 10px;border-bottom:1px solid #27533a;vertical-align:top}.owner-console td small{display:block;color:#afd1ba;margin-top:7px;font-size:11px;overflow-wrap:anywhere}.owner-console .field{max-width:600px}.owner-console .btn.primary{color:#052014}.legal-page{background:#f3f5f8;color:#192438;color-scheme:light;font-family:system-ui,sans-serif;line-height:1.8}.legal-page main{max-width:850px;padding:32px 38px 80px;margin:auto;background:white;overflow-wrap:anywhere}.legal-page h1{font-size:32px;margin:25px 0}.legal-page h2{font-size:23px;margin:34px 0 14px;line-height:1.4}.legal-page p,.legal-page li{font-size:17px}.legal-page a{color:#155487}.legal-page .legal-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:16px;border-bottom:1px solid #c9d3df;padding:15px 0}.legal-page .draft-banner{padding:16px;background:#fff4d3;border:1px solid #cba048;border-radius:10px}.legal-page strong{font-weight:700}.legal-page code{font-size:15px}.legal-page ul{padding-left:25px}@media(max-width:800px){.owner-console{padding:24px 16px 50px}.owner-console .card{padding:20px 14px}.brand-previews{grid-template-columns:1fr}.legal-page main{padding:20px 24px 60px}}@media(prefers-reduced-motion:reduce){.owner-matrix #matrix-rain{opacity:.16}}@media print{.legal-page main{max-width:none;padding:0}.legal-nav{display:none!important}.legal-page h2{break-after:avoid}.legal-page p{font-size:11pt}.legal-page{background:white}}

/* v7 Solid Hand only — navy/red/white. Accessible tints for small red text. */
body.tenant-solidhand{--bg:#0d142f;--surface:#172044;--surface2:#202d57;--border:#4b5881;--text:#ffffff;--muted:#bec8e4;--shade:#0a1028;--green:#a9dfb1;--yellow:#ffe0a0;--red:#ffb5ac}
body.tenant-solidhand.light{--bg:#f1f3f8;--surface:#ffffff;--surface2:#e8ecf5;--border:#bec8df;--text:#1e245e;--muted:#4d597c;--shade:#e5eaf4;--green:#286735;--yellow:#765000;--red:#a4241d}
.tenant-solidhand .hero{background:#1e245e;border:1px solid #7180ad;border-top:4px solid #e5372a;color:white}
.tenant-solidhand .hero h2,.tenant-solidhand .hero p,.tenant-solidhand .hero .eyebrow{color:white}
.tenant-solidhand .hero .btn,.tenant-solidhand .btn.primary,.tenant-solidhand .bigbtn.primary,.tenant-solidhand .preview-action{background:#ba2b22;border-color:#ba2b22;color:#ffffff}
.tenant-solidhand .eyebrow,.tenant-solidhand a,.tenant-solidhand .nav button.active,.tenant-solidhand .tile .tileicon,.tenant-solidhand .pw-eye[aria-pressed=true],.tenant-solidhand .code-big{color:#ffb5ac}
.tenant-solidhand.light .eyebrow,.tenant-solidhand.light a,.tenant-solidhand.light .nav button.active,.tenant-solidhand.light .tile .tileicon,.tenant-solidhand.light .pw-eye[aria-pressed=true],.tenant-solidhand.light .code-big{color:#a4241d}
.tenant-solidhand .nav button.active,.tenant-solidhand .bottom-nav button.active{background:#e5372a20}
.tenant-solidhand .tile .tileicon{background:#e5372a15}.tenant-solidhand .avatar{background:#1e245e;color:#ffffff;border:1px solid #97a4cc}
.tenant-solidhand .brandmark{background:#ba2b22;color:#ffffff}.tenant-solidhand .client-logo{background:transparent;border:0;padding:8px;margin-top:24px;min-height:145px}
.tenant-solidhand .client-logo img{width:148px;max-height:148px;border-radius:50%}.tenant-solidhand .tenant-brand img{background:transparent;border-radius:50%}
.tenant-solidhand .brand-preview.dark{background:#101936;color:white}.tenant-solidhand .brand-preview.light{background:white;color:#1e245e}
.tenant-solidhand.light .hero .eyebrow{color:white}.tenant-solidhand :focus-visible{outline-color:#ffb5ac}.tenant-solidhand.light :focus-visible{outline-color:#a4241d}
/* v9 client emails (owner console) */
.owner-console .ce-add{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 22px}
.owner-console .ce-add input[type=email]{flex:1 1 220px;min-width:0}
.owner-console .ce-compose fieldset{border:0;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:6px 18px}
.owner-console .ce-preview{margin-top:16px;border:1px dashed currentColor}
.owner-console .ce-body{white-space:normal;overflow-wrap:anywhere;margin:10px 0}
.owner-console tr.total-row td{border-top:2px solid currentColor}
.login-copy .login-tagline{margin-bottom:6px}
.login-copy .login-tagline strong{font-size:1.15em;font-weight:700}
@media(max-width:600px){.login-copy p.login-tagline{display:block;margin:12px 0 0;font-size:13px;max-width:none;line-height:1.4;white-space:nowrap}}
/* v12 clients, admin codes, preview, demo picker */
.owner-console .client-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.owner-console .gen-code{display:inline-flex;gap:6px;align-items:center;flex-wrap:wrap}
.owner-console .gen-code select{width:auto;min-height:44px}
.owner-console .client-status,.owner-console .code-state{font-size:11px;letter-spacing:1px;padding:3px 8px;border:1px solid currentColor;border-radius:6px;display:inline-block}
.owner-console .client-status.paused,.owner-console .code-state.revoked,.owner-console .code-state.expired{opacity:.7}
.owner-console .fresh-code{border:2px dashed currentColor;border-radius:14px;padding:16px;margin:12px 0 18px}
.owner-console .code-big{font-size:30px;letter-spacing:4px;font-weight:700;margin:6px 0;overflow-wrap:anywhere}
.preview-banner{position:sticky;top:0;z-index:60;display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;padding:8px 14px;background:#ffb547;color:#1b1406;font-size:13px}
.preview-banner strong{letter-spacing:2px}
.preview-banner .btn{background:#1b1406;color:#fff;border-color:#1b1406;min-height:36px}
.demo-picker{margin:18px 0 6px;padding:14px;border:1px solid var(--border);border-radius:14px}
.demo-co{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--border)}
.demo-co:first-of-type{border-top:0}
.demo-co-name{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}
.demo-co-name img{width:28px;height:28px;object-fit:contain;border-radius:6px;background:#fff}
.demo-co-name small{font-size:10px;color:var(--muted)}
.demo-co-btns{display:flex;gap:6px;flex-shrink:0}
.demo-co-btns .btn{min-height:40px}
.pay-choice{border:0;padding:0;margin:0 0 14px;display:grid;gap:8px}
.owner-console .client-profile{margin-top:8px;font-size:12px}
.owner-console .client-profile dl{display:grid;gap:4px;margin:8px 0 0}
.owner-console .client-profile dl div{display:grid;grid-template-columns:130px 1fr;gap:8px}
.owner-console .client-profile dt{opacity:.7}.owner-console .client-profile dd{margin:0;overflow-wrap:anywhere}
.owner-console .plan-flag{display:inline-block;margin-left:6px;font-size:10px;letter-spacing:1px;padding:1px 6px;border:1px solid currentColor;border-radius:5px}
.owner-console .plan-flag.paid{color:#ffb547}
.backup-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px;font-size:14px}
.backup-list li{display:flex;gap:10px;align-items:center}.backup-list svg{width:18px;height:18px;color:var(--accent)}
/* v12 invoicing */
.inv-lines input{min-width:0;width:100%;padding:8px;font-size:13px}
.inv-lines td:first-child{min-width:240px}.inv-lines td{vertical-align:middle}.inv-lines .amt{white-space:nowrap;font-weight:600}
.inv-totals{display:grid;gap:6px;justify-content:end;margin:14px 0;text-align:right}.inv-totals div{display:flex;gap:24px;justify-content:space-between}.inv-totals .grand{font-size:18px;border-top:1px solid var(--border);padding-top:6px}
.invoice-doc{background:#fff;color:#16202e;border-radius:14px;padding:28px;margin-top:16px;border-top:6px solid var(--brand,var(--accent))}
.invoice-doc h2{color:#16202e}.invoice-doc header{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.invoice-doc p{font-size:13px;color:#33415a;margin:6px 0}
.invoice-doc .inv-title{font-size:20px;letter-spacing:3px;font-weight:800;color:var(--brand,#16202e)}.invoice-doc .inv-meta{text-align:right}
.invoice-doc .inv-billto{margin:18px 0;font-size:14px}.invoice-doc .hint,.invoice-doc .quiet{color:#5a6880}
.inv-table{width:100%;border-collapse:collapse;font-size:13px}.inv-table th,.inv-table td{border-bottom:1px solid #e1e6ee;padding:8px 6px;text-align:left}.inv-table td:last-child,.inv-table th:last-child{text-align:right;white-space:nowrap}
.inv-table tfoot td{font-weight:600}.inv-table tfoot .grand td{font-size:16px;font-weight:800}
.pay-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px}
@media(max-width:600px){.invoice-doc{padding:18px}.invoice-doc .inv-meta{text-align:left}.pay-row{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.bottom-nav,.no-print,.pagehead,.legal-footer,.bottom-note,.preview-banner,.toast{display:none!important}.shell{display:block}.main{margin:0}.content{padding:0}.invoice-doc{border-radius:0;margin:0}body{background:#fff}}
.inv-quick h2{margin:12px 0 6px}.inv-confirm{display:grid;gap:10px;margin:16px 0}.inv-confirm div{display:grid;grid-template-columns:120px 1fr;gap:10px}.inv-confirm dt{color:var(--muted);font-size:13px}.inv-confirm dd{margin:0;font-weight:600}
.inv-review .inv-period-pick{max-width:420px}.inv-actions .btn.big{min-height:56px}
.inv-quick h2{margin:12px 0 6px}.inv-confirm{display:grid;gap:10px;margin:16px 0}.inv-confirm div{display:grid;grid-template-columns:120px 1fr;gap:10px}.inv-confirm dt{color:var(--muted);font-size:13px}.inv-confirm dd{margin:0;font-weight:600}
.inv-review .inv-period-pick{max-width:560px}.inv-actions .btn.big{min-height:56px}
.sched-note{display:flex;gap:8px;align-items:flex-start;font-size:13px;margin:10px 0 0;padding:10px 12px;border-radius:10px;background:var(--surface2);border-left:4px solid var(--accent)}.sched-note svg{width:18px;height:18px;color:var(--accent)}
.invoice-doc .inv-sched{font-size:11px;color:#5a6880;max-width:260px;margin-left:auto}
.inv-cta{margin:0 0 16px}.biz-card summary{cursor:pointer;padding:4px 0}.biz-card form{margin-top:14px}
.inv-split{margin:18px 0 26px}.inv-split-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.inv-split-head .btn{margin-left:auto}
.ec-tag{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--accent);color:#13261a;font-weight:800;font-size:13px;letter-spacing:.5px}
.invoice-doc .inv-ec{margin:10px 0 0;font-size:13px;color:#16202e}
.ec-rows{display:grid;gap:8px;margin:8px 0}.ec-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;align-items:center}
@media(max-width:600px){.ec-row{grid-template-columns:1fr auto}.ec-row select{grid-column:1/-1;grid-row:2}}
.rate-big{font-size:22px;font-weight:800;margin:6px 0}.rate-offer{margin:14px 0;padding:16px}.rate-hist{margin:8px 0 0;padding-left:18px;font-size:12px;color:var(--muted)}
.rate-form{align-items:end;grid-template-columns:repeat(4,minmax(0,1fr)) auto}@media(max-width:850px){.rate-form{grid-template-columns:1fr 1fr}}
.addon-qs{margin:18px 0}.addon-q{padding:12px 0;border-top:1px solid var(--border)}.yn{border:0;padding:0;margin:0 0 8px}.yn legend{font-weight:600;font-size:14px;margin-bottom:8px}
.chip-radio{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;margin-right:8px;border:1px solid var(--border);border-radius:999px;min-height:44px;cursor:pointer}.chip-radio:has(input:checked){border-color:var(--accent);background:#b8ed7c14}
.addon-confirm{margin-left:14px;padding-left:12px;border-left:3px solid var(--accent)}.addon-row{padding:12px 0;border-top:1px solid var(--border)}
.invoice-doc tr.addon-line td{background:#fff7e6}
/* ---------- v13 Oh La Lashes theme ---------- */
html body.lash.lash{--bg:#ffffff;--surface:#ffffff;--surface2:#fdf0f3;--border:#f1d3db;--text:#111111;--muted:#5f5559;--accent:#b3122e;--brand:#f29bb2;--green:#2f7a4a;--yellow:#9a6b00;--red:#b3122e;--shade:#fff5f7;--rose:#b3122e;--gold:#e0607e;--plum:#111111;--shadow:0 14px 40px #b3122e14;color-scheme:light}
html body.lash.lash:not(.light){--bg:#0a0a0b;--surface:#151316;--surface2:#211b1f;--border:#3a2a31;--text:#ffffff;--muted:#c7b5bc;--accent:#ff4d6d;--brand:#f29bb2;--rose:#ff4d6d;--gold:#f29bb2;--shade:#000000;--plum:#ffffff;--shadow:0 14px 40px #0008;color-scheme:dark}
body.lash h1,body.lash h2,body.lash h3,body.lash .lash-brand span,body.lash .l-cert h2{font-family:'Playfair Display',Didot,Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:.01em}
body.lash h1{font-size:clamp(30px,4vw,44px)}body.lash .eyebrow{color:var(--gold);letter-spacing:.22em}
body.lash .btn{border-radius:999px}body.lash .btn.primary{background:var(--rose);border-color:var(--rose);color:#fff}body.lash:not(.light) .btn.primary{color:#2a1830}
body.lash .card{border-radius:22px;border-color:var(--border);box-shadow:var(--shadow)}
body.lash .sidebar{background:linear-gradient(180deg,var(--surface),var(--surface2))}
body.lash .nav a.active,body.lash .nav button.active,body.lash .nav [aria-current]{background:color-mix(in srgb,var(--rose) 16%,transparent);color:var(--text)}
.lash-brand{display:flex;align-items:center;gap:12px;color:var(--rose)}.lash-brand span{color:var(--text);font-size:24px;line-height:1.05;display:flex;flex-direction:column}.lash-brand small{font:600 9px/1.5 'DM Sans',sans-serif;letter-spacing:.2em;color:var(--gold);margin-top:4px}
.lash-mark{width:52px;height:34px;flex:none}.mobile-brand .lash-mark{width:38px}
.l-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:6px 0 20px}.l-stats>div{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:16px 18px;box-shadow:var(--shadow)}.l-stats span{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.l-stats strong{display:block;font:500 32px/1.2 'Playfair Display',Georgia,serif;color:var(--rose)}.l-stats small{color:var(--muted)}
.l-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-bottom:18px}.l-card{margin-bottom:18px}.l-card-h{display:flex;justify-content:space-between;align-items:center;gap:10px}.l-h2{margin:22px 0 12px}
.l-appts,.l-classes{list-style:none;padding:0;margin:0}.l-appt,.l-classes li{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--border)}.l-appt:first-child,.l-classes li:first-child{border-top:0}.l-appt time,.l-classes time{min-width:86px;font-weight:700;color:var(--rose);display:flex;flex-direction:column;font-size:14px}.l-appt div,.l-classes li>div{flex:1;display:flex;flex-direction:column}.l-appt span,.l-classes li span{color:var(--muted);font-size:13px}.l-appt.done{opacity:.55}
.l-tag{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface2);color:var(--text);white-space:nowrap}.l-tag.online{background:color-mix(in srgb,var(--rose) 22%,transparent)}.l-tag.gold{background:color-mix(in srgb,var(--gold) 28%,transparent)}.l-seats{font-weight:700;color:var(--gold);white-space:nowrap}.l-classes.card{padding:8px 22px}
.l-bar{height:8px;border-radius:9px;background:var(--surface2);overflow:hidden;min-width:80px}.l-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--rose),var(--gold));border-radius:9px}
.l-table{width:100%;border-collapse:collapse}.l-table th{text-align:left;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:8px}.l-table td{padding:10px 8px;border-top:1px solid var(--border);vertical-align:middle}.l-pcell{min-width:120px}.l-pcell small{color:var(--muted)}
.l-cal-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}.l-cal-bar strong{flex:1;text-align:center}
.l-cal{display:grid;grid-template-columns:44px repeat(var(--days),minmax(92px,1fr));overflow-x:auto;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:10px;box-shadow:var(--shadow)}.l-cal-times{padding-top:38px;display:flex;flex-direction:column}.l-cal-times span{height:56px;font-size:11px;color:var(--muted)}.l-cal-day h3{font:600 12px 'DM Sans',sans-serif;text-align:center;margin:0 0 6px;height:32px}.l-cal-day.today h3{color:var(--rose)}.l-cal-col{position:relative;height:504px;border-left:1px solid var(--border);background:repeating-linear-gradient(var(--border) 0 1px,transparent 1px 56px)}.l-cal-day.today .l-cal-col{background-color:color-mix(in srgb,var(--rose) 6%,transparent)}
.l-ev{position:absolute;left:3px;right:3px;border-radius:10px;padding:4px 6px;font-size:11px;overflow:hidden;background:color-mix(in srgb,var(--rose) 22%,var(--surface));border-left:3px solid var(--rose);display:flex;flex-direction:column}.l-ev span{color:var(--muted)}.l-ev.a-jess{background:color-mix(in srgb,var(--gold) 24%,var(--surface));border-color:var(--gold)}.l-ev.a-mia{background:color-mix(in srgb,#8a7bb0 24%,var(--surface));border-color:#8a7bb0}.l-ev.online{box-shadow:inset 0 0 0 1.5px var(--rose)}
.l-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted)}.l-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;background:var(--rose)}.l-legend .a-jess i{background:var(--gold)}.l-legend .a-mia i{background:#8a7bb0}.l-legend .online i{background:transparent;box-shadow:inset 0 0 0 2px var(--rose)}
.l-menu{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:4px 24px}.l-menu div{display:flex;gap:10px;padding:10px 0;border-bottom:1px dotted var(--border)}.l-menu strong{flex:1}.l-menu span{color:var(--muted)}.l-menu b{color:var(--rose)}
.l-clients{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.l-client-h{display:flex;gap:12px;align-items:center;margin-bottom:10px}.l-client-h div{display:flex;flex-direction:column}.l-client-h small{color:var(--muted)}.l-client dl{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;margin:0;font-size:14px}.l-client dt{color:var(--muted)}.l-client dd{margin:0}.l-new{color:var(--rose)}
.l-courses{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:18px}.l-course{overflow:hidden;padding-top:0}.l-course-art{margin:0 -22px 14px;height:110px;background:linear-gradient(135deg,var(--cc),color-mix(in srgb,var(--cc) 40%,#f6e7da));display:flex;align-items:center;justify-content:center;position:relative;color:#fff8f2}.l-course-art .lash-mark{width:90px;height:56px}.l-course-art span{position:absolute;left:14px;bottom:10px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}.l-meta{color:var(--muted);font-size:13px}.l-price{font-weight:700;color:var(--rose)}.l-price small{color:var(--muted);font-weight:400}
.l-continue{display:flex;gap:18px;align-items:center}.l-poster{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:16/9;background:#3a1f35}.l-poster svg{width:100%;height:100%;display:block}.l-poster.small{width:200px;flex:none}
.l-pbig{display:flex;align-items:center;gap:14px}.l-pbig .l-bar{flex:1;height:12px}.l-pbig strong{font:500 28px Georgia,serif;color:var(--rose)}
.l-module h2{display:flex;flex-direction:column;font-size:24px}.l-module h2 span{font:600 11px 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}.l-module ul{list-style:none;padding:0;margin:0}
.l-lesson-btn{width:100%;display:flex;gap:12px;align-items:center;padding:12px 6px;background:none;border:0;border-top:1px solid var(--border);color:var(--text);font:inherit;text-align:left;cursor:pointer;min-height:48px}.l-lesson-btn i{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;background:var(--surface2);color:var(--rose);flex:none}.l-lesson-btn.done i{background:var(--rose);color:#fff}.l-lesson-btn span{flex:1}.l-lesson-btn small{color:var(--muted)}.l-lesson-btn:hover{background:var(--surface2)}
.l-player{position:relative;border-radius:22px;overflow:hidden;background:#000;margin-bottom:18px;box-shadow:var(--shadow)}.l-player .l-poster{border-radius:0}.l-play{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50%;border:0;background:#fff8f2e6;color:#7a4a6a;font-size:30px;cursor:pointer;box-shadow:0 10px 40px #0005;transition:.2s}.l-player.playing .l-play{opacity:0;pointer-events:none}.l-caption{pointer-events:none;position:absolute;left:50%;bottom:64px;transform:translateX(-50%);background:#000b;color:#fff;padding:6px 14px;border-radius:8px;font-size:15px;max-width:86%;text-align:center}
.l-controls{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:12px;padding:12px 16px;background:linear-gradient(transparent,#000c);color:#fff}.l-ctl{background:none;border:1px solid #fff6;color:#fff;border-radius:8px;min-width:44px;min-height:36px;cursor:pointer;font-weight:700}.l-ctl.on{background:#fff;color:#3a1f35}.l-track{flex:1;height:5px;background:#fff4;border-radius:5px;overflow:hidden}.l-track i{display:block;height:100%;width:0;background:var(--gold);transition:width .45s linear}#l-time{font-size:12px;font-variant-numeric:tabular-nums}
.l-notes li,.l-kit li{margin:6px 0}.l-comment{background:var(--surface2);border-radius:14px;padding:12px 14px}.l-lesson-nav{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0}
.l-quiz fieldset{border:0;padding:0;margin:0 0 20px}.l-q legend{font:500 20px Georgia,serif;margin-bottom:10px;display:flex;gap:10px}.l-q legend span{width:28px;height:28px;border-radius:50%;background:var(--rose);color:#fff;display:grid;place-items:center;font:700 13px 'DM Sans',sans-serif;flex:none}
.l-opt{display:flex;gap:10px;align-items:center;padding:12px 14px;border:1px solid var(--border);border-radius:14px;margin:8px 0;cursor:pointer;min-height:48px}.l-opt:has(input:checked){border-color:var(--rose);background:color-mix(in srgb,var(--rose) 10%,transparent)}.l-opt.right{border-color:var(--green);background:color-mix(in srgb,var(--green) 14%,transparent)}.l-opt.wrong{border-color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}
.l-score{display:flex;gap:16px;align-items:center;padding:16px;border-radius:18px;background:var(--surface2);margin-bottom:14px}.l-score strong{font:500 44px Georgia,serif;color:var(--rose)}
.l-photo{display:flex;gap:14px;align-items:flex-start;margin-bottom:14px}.l-photo img,.l-photo-ph{width:120px;height:90px;object-fit:cover;border-radius:12px;background:var(--surface2);display:grid;place-items:center;color:var(--rose);flex:none}.l-photo>div{flex:1;display:flex;flex-direction:column}.l-photo small{color:var(--muted)}.l-photo-up{display:grid;gap:8px;border-top:1px solid var(--border);padding-top:14px}
.l-check{list-style:none;padding:0}.l-check li{padding:6px 0 6px 28px;position:relative;color:var(--muted)}.l-check li:before{content:'○';position:absolute;left:4px}.l-check li.ok{color:var(--text)}.l-check li.ok:before{content:'✓';color:var(--rose);font-weight:700}
.l-cert{background:#fffaf5;color:#3a1f35;border-radius:10px;padding:16px;margin:0 auto 16px;max-width:820px;box-shadow:var(--shadow);border:1px solid #ead8cf}.l-cert-in{border:2px solid #c9a46a;outline:1px solid #c9a46a;outline-offset:-8px;padding:40px 36px;text-align:center;color:#b76e79;background:radial-gradient(circle at 50% 0,#f6e7da,transparent 60%)}.l-cert-in .lash-mark{width:80px;height:50px}.l-cert-k{letter-spacing:.3em;font-size:11px;color:#a8803d;margin:6px 0}.l-cert h2{font-size:40px;color:#3a1f35;margin:6px 0 14px}.l-cert p{color:#5d4456;margin:6px 0}.l-cert-name{font:italic 500 42px 'Playfair Display',Georgia,serif!important;color:#7a4a6a!important;border-bottom:1px solid #c9a46a;display:inline-block;padding:0 30px 4px}.l-cert-course{font:600 22px Georgia,serif!important;color:#3a1f35!important}.l-cert-foot{display:flex;justify-content:space-between;align-items:flex-end;margin-top:30px;gap:12px}.l-cert-foot>div{display:flex;flex-direction:column;min-width:150px;color:#3a1f35}.l-cert-foot small{font-size:11px;color:#86697a;border-top:1px solid #c9a46a;padding-top:4px;margin-top:4px}.l-sig{font:italic 30px 'Brush Script MT','Segoe Script',cursive}.l-seal{width:84px!important;min-width:84px!important;height:84px;border-radius:50%;background:radial-gradient(#d8b77c,#a8803d);color:#fff;align-items:center;justify-content:center;font-size:26px}.l-seal small{color:#fff!important;border:0!important;font-size:8px!important}.l-cert-demo{font-size:11px;color:#a0889a!important;margin-top:18px!important}
.l-copy{display:flex;gap:10px;margin-bottom:14px}.l-copy input{flex:1}#l-snip{width:100%;font-family:ui-monospace,monospace;font-size:12px}.l-snip-prev{display:inline-flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
/* public booking */
body.lash .l-public{min-height:100vh;background:radial-gradient(circle at 85% -10%,color-mix(in srgb,var(--rose) 22%,transparent),transparent 45%),var(--bg)}
.l-pub-head{display:flex;justify-content:space-between;align-items:center;padding:18px clamp(16px,4vw,48px);border-bottom:1px solid var(--border)}.l-pub-main{max-width:880px;margin:0 auto;padding:24px clamp(14px,3vw,28px) 40px}.l-pub-foot{text-align:center;color:var(--muted);font-size:12px;padding:24px}
.l-hero{text-align:center;margin:10px 0 18px}.l-hero .lead{color:var(--muted)}
.l-tabs{display:inline-flex;background:var(--surface2);border-radius:999px;padding:4px;margin-top:8px}.l-tabs button{border:0;background:none;padding:10px 18px;border-radius:999px;font:inherit;font-weight:600;color:var(--muted);cursor:pointer;min-height:44px}.l-tabs button.on{background:var(--surface);color:var(--rose);box-shadow:var(--shadow)}
.l-steps{display:flex;gap:6px;list-style:none;padding:0;margin:0 0 18px;justify-content:center;flex-wrap:wrap}.l-steps li{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);padding:4px 10px;border-radius:999px}.l-steps span{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface2);font-weight:700}.l-steps li.on{color:var(--text);background:var(--surface)}.l-steps li.on span,.l-steps li.done span{background:var(--rose);color:#fff}
.l-svc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.l-svc{display:flex;flex-direction:column;gap:6px;text-align:left;padding:18px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;box-shadow:var(--shadow);transition:.15s}.l-svc:hover:not(:disabled){border-color:var(--rose);transform:translateY(-2px)}.l-svc strong{font:600 18px 'Playfair Display',Georgia,serif}.l-svc span{color:var(--muted);font-size:13px}.l-svc em{font-style:normal;font-size:14px}.l-svc b{color:var(--rose)}.l-artist{align-items:center;text-align:center}.l-artist .avatar{width:56px;height:56px;font-size:18px}.l-class-card{border-top:4px solid var(--cc)}.l-svc:disabled{opacity:.5}
.l-days{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px}.l-day{flex:none;width:68px;padding:10px 0;border-radius:16px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:flex;flex-direction:column;align-items:center;cursor:pointer;font:inherit}.l-day b{font:500 24px Georgia,serif}.l-day i{font-style:normal;font-size:10px;color:var(--muted)}.l-day.on{background:var(--rose);border-color:var(--rose);color:#fff}.l-day.on i{color:#fff}.l-day:disabled{opacity:.4}
.l-times{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}.l-time{padding:12px;border-radius:14px;border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;font-weight:600;cursor:pointer;min-height:46px}.l-time:hover{border-color:var(--rose);color:var(--rose)}
.l-sum{display:flex;flex-direction:column;padding:14px 18px;border-radius:18px;background:var(--surface2);margin:8px 0 14px}.l-sum span{color:var(--muted);font-size:14px}.l-form{display:grid;gap:12px}.l-amt{font:500 28px Georgia,serif;color:var(--rose)}.l-paybox{border:1px dashed var(--border);border-radius:16px;padding:14px}.l-stripe{font-size:12px;letter-spacing:.1em;color:var(--muted)}.l-stripe b{color:#635bff;font-size:15px}.l-policy{background:var(--surface2);border-radius:14px;padding:10px 14px}.l-policy summary{font-weight:700;cursor:pointer}
.l-confirm{text-align:center;padding:34px 22px}.l-confirm-ic{width:70px;height:70px;border-radius:50%;margin:0 auto 10px;display:grid;place-items:center;font-size:32px;background:var(--rose);color:#fff}.button-row.center{justify-content:center}
@media (max-width:700px){.l-continue{flex-direction:column;align-items:stretch}.l-poster.small{width:100%}.l-cal{grid-template-columns:36px repeat(var(--days),88px)}.l-cert-in{padding:26px 14px}.l-cert h2{font-size:28px}.l-cert-name{font-size:30px!important}.l-cert-foot{flex-direction:column;align-items:center}.l-copy{flex-direction:column}.l-table{font-size:13px}.lash-brand span{font-size:20px}}
@media print{body.lash .sidebar,body.lash .topbar,body.lash .bottom-nav,body.lash .pagehead,body.lash .button-row,body.lash .legal-footer,body.lash .bottom-note{display:none!important}}
.demo-co-name .lash-mark{width:30px;height:20px;color:#e0405f}

body.lash .sidebar{background:var(--surface)}body.lash .shell{background:var(--bg)}
@media (max-width:700px){.l-caption{font-size:12px;bottom:50px;padding:4px 10px}.l-play{width:60px;height:60px;font-size:22px}.l-poster text{display:none}}

@font-face{font-family:'Playfair Display';src:url(assets/playfair.ttf) format('truetype');font-weight:400 900;font-display:swap}
@font-face{font-family:'Playfair Display';src:url(assets/playfair-italic.ttf) format('truetype');font-style:italic;font-weight:400 900;font-display:swap}
@font-face{font-family:'Poppins';src:url(assets/poppins-400.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Poppins';src:url(assets/poppins-500.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:'Poppins';src:url(assets/poppins-600.ttf) format('truetype');font-weight:600 700;font-display:swap}
body.lash,body.lash button,body.lash input,body.lash textarea,body.lash select{font-family:'Poppins','Helvetica Neue',Arial,sans-serif}
body.lash .lash-brand small,body.lash .l-cal-day h3{font-family:'Poppins',sans-serif}
body.lash h1,body.lash h2,body.lash h3{font-weight:600}
.l-ev.c-0{background:color-mix(in srgb,var(--rose) 16%,var(--surface));border-color:var(--rose)}.l-ev.c-1{background:color-mix(in srgb,var(--brand) 28%,var(--surface));border-color:var(--brand)}.l-ev.c-2{background:color-mix(in srgb,var(--text) 10%,var(--surface));border-color:var(--text)}
.l-legend .c-0 i{background:var(--rose)}.l-legend .c-1 i{background:var(--brand)}.l-legend .c-2 i{background:var(--text)}
.l-course.soon{opacity:.75}
.l-cert{background:#fff;color:#111;border-color:#f1d3db}.l-cert-in{border-color:#b3122e;outline-color:#f29bb2;color:#b3122e;background:radial-gradient(circle at 50% 0,#fde4ea,transparent 60%)}.l-cert-k{color:#b3122e}.l-cert h2,.l-cert-course,.l-cert-foot>div{color:#111!important}.l-cert-name{color:#b3122e!important;border-bottom-color:#f29bb2;font-family:'Playfair Display',Georgia,serif!important}.l-cert-foot small{border-top-color:#f29bb2}.l-seal{background:radial-gradient(#ff4d6d,#b3122e)}
.l-play{color:#b3122e}.l-track i{background:var(--brand)}
.l-pub-foot a{color:var(--rose)}
/* v14: iOS Safari date/time inputs — match other fields, never overflow */
.field,.fields>*,.field>*,form .fields{min-width:0}
input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{-webkit-appearance:none;appearance:none;display:block;width:100%;max-width:100%;min-width:0;box-sizing:border-box;min-height:54px;height:54px;padding:13px 15px;border-radius:11px;font:inherit;line-height:1.5;text-align:left;color:var(--text);background:var(--bg);border:1px solid var(--border)}
input[type=date]::-webkit-date-and-time-value,input[type=time]::-webkit-date-and-time-value,input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;margin:0;min-height:1.5em}
input[type=date]::-webkit-datetime-edit,input[type=time]::-webkit-datetime-edit,input[type=datetime-local]::-webkit-datetime-edit{padding:0}
/* ---------- v14 Marketing + Alfred ---------- */
.m-tabs{display:flex;gap:6px;overflow-x:auto;padding:4px;background:var(--surface2);border-radius:999px;margin:0 0 18px;scrollbar-width:none}.m-tabs::-webkit-scrollbar{display:none}
.m-tabs button{flex:none;display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:10px 16px;border-radius:999px;font:inherit;font-weight:600;font-size:14px;color:var(--muted);cursor:pointer;min-height:44px}.m-tabs button.on{background:var(--surface);color:var(--rose);box-shadow:var(--shadow)}.m-tabs .alfred-av{width:24px;height:24px}
.m-row-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.m-row-h h2{margin:0}
.m-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-bottom:16px}.m-camp-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.m-camp-h strong{font:600 19px 'Playfair Display',Georgia,serif}
.m-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.m-kpis div{background:var(--surface2);border-radius:14px;padding:10px;text-align:center;display:flex;flex-direction:column}.m-kpis b{color:var(--rose);font-size:18px}.m-kpis small{color:var(--muted);font-size:11px}
.m-st-active{background:color-mix(in srgb,var(--rose) 18%,transparent)!important;color:var(--rose)!important}.m-st-scheduled{background:color-mix(in srgb,var(--brand) 30%,transparent)!important}.m-st-ended{opacity:.6}
.m-form{margin-bottom:16px}.m-ideas{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin:4px 0 12px}.m-ideas span{font-size:12px;color:var(--muted)}
body.lash .chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:8px 12px;font:inherit;font-size:13px;cursor:pointer;min-height:36px}body.lash .chip:hover,body.lash .chip.on{border-color:var(--rose);color:var(--rose);background:color-mix(in srgb,var(--rose) 8%,var(--surface))}
.m-week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow-x:auto;padding-bottom:6px}.m-day{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:10px;min-height:160px}.m-day.today{border-color:var(--rose)}.m-day h3{font:600 12px Poppins,sans-serif;margin:0 0 8px;color:var(--muted)}.m-day.today h3{color:var(--rose)}
.m-post{border-radius:12px;background:var(--surface2);padding:8px;margin-bottom:8px;font-size:12px;border-left:3px solid var(--rose)}.m-post.k-story{border-color:var(--brand)}.m-post.k-reel{border-color:var(--text)}.m-post p{margin:4px 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.m-post-h{display:flex;justify-content:space-between}.m-post-h time{color:var(--muted)}.m-post-a{display:flex;gap:10px}.m-post-a .text-btn{font-size:12px;min-height:32px}.m-empty{color:var(--muted);text-align:center}
.m-ba{display:grid;grid-template-columns:1fr 1fr;border-radius:8px;overflow:hidden;height:58px;position:relative;margin-bottom:6px}.m-ba span{display:grid;place-items:center;font-size:10px;letter-spacing:.12em;color:#fff;font-weight:700}.m-ba span:first-child{background:linear-gradient(135deg,#9d8a84,#6f5f5a)}.m-ba span:nth-child(2){background:linear-gradient(135deg,#111,#b3122e)}.m-ba small{position:absolute;left:6px;bottom:3px;font-size:9px;color:#fff;opacity:.85}.m-thumb{width:100%;border-radius:8px;display:block;margin-bottom:6px;aspect-ratio:4/5;object-fit:cover}
.m-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.m-toggle input{position:absolute;opacity:0;width:1px;height:1px}.m-toggle span{width:46px;height:26px;border-radius:99px;background:var(--border);position:relative;transition:.2s}.m-toggle span:after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s;box-shadow:0 1px 3px #0003}.m-toggle input:checked+span{background:var(--rose)}.m-toggle input:checked+span:after{left:23px}.m-toggle input:focus-visible+span{outline:2px solid var(--rose);outline-offset:2px}.m-toggle em{font-style:normal;font-size:12px;color:var(--muted);min-width:22px}
.m-msg textarea{width:100%;margin:6px 0 10px}.m-bubble{background:var(--rose);color:#fff;border-radius:18px 18px 4px 18px;padding:10px 14px;font-size:14px;max-width:92%;margin-left:auto}.m-bubble small{display:block;opacity:.75;font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:2px}
.m-stars{color:var(--rose);letter-spacing:2px}.m-review p{font-style:italic}.m-review small{color:var(--muted)}
.m-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}.m-hero-pick{display:inline-flex;align-items:center;gap:8px;margin:0 12px 8px 0;cursor:pointer}.m-hero-pick input{accent-color:var(--rose)}.m-hero-pick span{width:44px;height:30px;border-radius:8px;border:1px solid var(--border)}.m-svc-pick{border:0;padding:0;margin:0 0 14px;max-height:260px;overflow:auto}.m-svc-pick .check{display:flex;gap:8px;font-size:14px;margin:4px 0}
.m-site-prev{position:sticky;top:12px;border-radius:24px;overflow:hidden;background:#fff;color:#111;box-shadow:var(--shadow);border:1px solid var(--border)}.m-site-hero{padding:34px 22px;color:#fff;text-align:center}.m-site-hero .lash-mark{width:60px;height:38px;color:#fff}.m-site-hero h3{font:600 26px 'Playfair Display',Georgia,serif;margin:8px 0;color:#fff}.m-site-hero p{opacity:.9;font-size:13px}.m-site-btn{display:inline-block;margin-top:10px;background:#fff;color:#b3122e;padding:11px 26px;border-radius:999px;font-weight:600;text-decoration:none}.m-site-body{padding:18px 22px}.m-site-body h4{font:600 17px 'Playfair Display',Georgia,serif;margin:12px 0 6px}.m-site-svc{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dotted #f1d3db;font-size:14px}.m-site-svc b{color:#b3122e}.m-site-dep,.m-site-ig{font-size:12px;color:#5f5559}.m-site-cap{text-align:center;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#5f5559;margin:0;padding:8px;background:#fdf0f3}
.m-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.m-bars{display:flex;align-items:flex-end;gap:10px;height:160px;padding-top:20px}.m-bar{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end}.m-bar i{width:100%;max-width:44px;background:linear-gradient(180deg,var(--rose),var(--brand));border-radius:10px 10px 4px 4px;position:relative;min-height:4px}.m-bar b{position:absolute;top:-20px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap}.m-bar span{font-size:10px;color:var(--muted);margin-top:6px;text-align:center}
.a-panel{padding:0;overflow:hidden}.a-head{display:flex;align-items:center;gap:12px;padding:14px 18px;background:#111;color:#fff}.a-head .alfred-av{width:44px;height:44px;flex:none}.a-head div{flex:1;display:flex;flex-direction:column}.a-head strong{font:600 20px 'Playfair Display',Georgia,serif}.a-head small{color:#f29bb2;font-size:12px}.a-demo{font-size:10px;letter-spacing:.08em;color:#bbb;border:1px solid #444;border-radius:99px;padding:3px 9px}
.a-log{max-height:520px;min-height:200px;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;background:var(--surface2)}.a-msg{max-width:88%}.a-msg p{margin:0;padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.5}.a-msg.a p{background:var(--surface);border:1px solid var(--border);border-radius:4px 18px 18px 18px}.a-msg.u{align-self:flex-end}.a-msg.u p{background:var(--rose);color:#fff;border-radius:18px 18px 4px 18px}.a-att{max-width:180px;border-radius:12px;display:block;margin-bottom:4px}
.a-draft{margin-top:8px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px}.a-draft textarea{width:100%;font-size:14px}.a-draft.done{color:var(--green);font-weight:600;font-size:13px}.a-btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.a-list{margin:4px 0;padding-left:20px;font-size:14px}.a-list li{margin:4px 0}.a-draft h4{margin:0 0 6px;font:600 16px 'Playfair Display',Georgia,serif}
.a-reel-wrap{display:grid;grid-template-columns:150px 1fr;gap:12px;align-items:start}.a-reel{position:relative;aspect-ratio:9/16;border-radius:16px;overflow:hidden;background:#000;color:#fff}.a-reel-half{height:50%;display:grid;place-items:center}.a-reel-half span{font-size:10px;letter-spacing:.2em;font-weight:700;background:#0006;padding:3px 8px;border-radius:99px}.a-reel-half.before{background:linear-gradient(135deg,#9d8a84,#6f5f5a)}.a-reel-half.after{background:linear-gradient(135deg,#7d0c22,#f29bb2)}.a-reel-cap{position:absolute;left:8px;right:8px;bottom:34px;font-size:10px;font-weight:600;text-shadow:0 1px 4px #000}.a-reel-music{position:absolute;left:8px;bottom:12px;font-size:9px;opacity:.9}.a-reel-ig{position:absolute;top:8px;left:8px;font-size:9px;font-weight:600}.a-reel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:38px;height:38px;border-radius:50%;background:#fffd;color:#b3122e;display:grid;place-items:center;font-size:14px}
.ba-slider{position:relative;border-radius:14px;overflow:hidden;max-width:420px;aspect-ratio:4/5;background:#000}.ba-slider img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.ba-after{position:absolute;inset:0;clip-path:inset(0 0 0 var(--p));}.ba-after:before{content:'';position:absolute;left:var(--p);top:0;bottom:0;width:2px;background:#fff;z-index:2;box-shadow:0 0 6px #0008}.ba-slider input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}.ba-l,.ba-r{position:absolute;top:8px;font-size:10px;letter-spacing:.15em;font-weight:700;background:#000a;color:#fff;padding:3px 8px;border-radius:99px;z-index:3;pointer-events:none}.ba-l{left:8px}.ba-r{right:8px}
.a-ai-note{font-size:12px;color:var(--rose);font-style:italic;margin:6px 0}.a-ops{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.a-prompts{display:flex;gap:6px;overflow-x:auto;padding:10px 14px;border-top:1px solid var(--border);scrollbar-width:none}.a-prompts .chip{flex:none}
.a-input{display:flex;gap:8px;align-items:center;padding:12px 14px;border-top:1px solid var(--border);background:var(--surface)}.a-input #a-q{flex:1;min-width:0;height:48px;min-height:48px;border-radius:999px}.a-attach,.a-mic{flex:none;cursor:pointer;font-size:18px}
@media (max-width:700px){.m-split{grid-template-columns:1fr}.m-site-prev{position:static}.m-week{grid-template-columns:repeat(7,150px)}.a-reel-wrap{grid-template-columns:1fr}.a-reel{max-width:180px}.a-msg{max-width:96%}.a-input .btn{padding:0 14px}.a-log{max-height:none}}
/* ---------- v15 Alfred extras ---------- */
.a-ideas-h{display:flex;align-items:center;gap:12px;margin-bottom:8px}.a-ideas-h .alfred-av{width:44px;height:44px;flex:none}.a-ideas-h div{flex:1}.a-ideas-h h2{margin:0}.a-ideas-h .eyebrow{margin:0}
.a-nudge{background:color-mix(in srgb,var(--rose) 10%,var(--surface));border-left:3px solid var(--rose);border-radius:12px;padding:10px 14px;font-size:14px}
.a-idea-list{list-style:none;padding:0;margin:0 0 10px}.a-idea-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--border)}.a-idea-list strong{flex:1;font-weight:500;font-size:14px}
.a-ideas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:8px 0}.a-ideas-grid h3,.a-ideas h3{font-size:17px;margin:10px 0 6px}.a-ideas-grid ul{padding-left:18px;margin:0;font-size:14px}.a-ideas-grid li{margin:4px 0}
.a-dash{margin-top:18px}.a-ideas.compact .a-idea-list li:first-child{border-top:0}
.a-rc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 12px}.a-rc-kpis div{background:var(--surface2);border-radius:14px;padding:10px;display:flex;flex-direction:column}.a-rc-kpis b{font:600 22px 'Playfair Display',Georgia,serif;color:var(--rose)}.a-rc-kpis small{color:var(--muted);font-size:12px}
.up{color:var(--green);font-weight:600}.down{color:var(--red);font-weight:600}
.a-report{margin-top:8px}.a-report-h{display:flex;gap:14px;align-items:center;border-bottom:2px solid var(--rose);padding-bottom:12px;margin-bottom:14px}.a-report-h .alfred-av{width:54px;height:54px}.a-report-h h2{margin:0}
.a-r-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-bottom:14px}.a-r-grid h3{font-size:18px;margin:4px 0 8px}
.a-funnel div{display:flex;align-items:center;gap:10px;margin:6px 0}.a-funnel span{width:110px;font-size:13px;color:var(--muted);flex:none}.a-funnel i{display:block;height:26px;border-radius:8px;background:linear-gradient(90deg,var(--rose),var(--brand));position:relative}.a-funnel b{position:absolute;right:8px;top:3px;color:#fff;font-size:12px}
.a-r-best{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin:8px 0 14px}.a-r-best div{background:var(--surface2);border-radius:14px;padding:12px;display:flex;flex-direction:column}.a-r-best small{color:var(--muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.a-tips{padding-left:18px}.a-tips li{margin:6px 0;font-style:italic}.a-emailme{border-top:1px solid var(--border);padding-top:12px;margin-top:12px}
.m-prod img,.m-prod-ph{width:100%;aspect-ratio:1;object-fit:cover;border-radius:14px;margin-bottom:10px;background:var(--surface2);display:grid;place-items:center;color:var(--rose)}.m-prod-ph .lash-mark{width:70px;height:44px}.m-price{color:var(--rose)}
.em-prev{border:1px solid var(--border);border-radius:16px;overflow:hidden;margin:10px 0;background:#fff;color:#111;max-width:520px}.em-top{background:#111;color:#fff;display:flex;align-items:center;gap:10px;padding:14px 18px;font:600 18px 'Playfair Display',Georgia,serif}.em-top .lash-mark{width:40px;height:26px;color:#f29bb2}.em-body{padding:18px;font-size:14px;line-height:1.6}.em-subj{font:600 20px 'Playfair Display',Georgia,serif;margin:0 0 10px}.em-btn{display:inline-block;background:#b3122e;color:#fff!important;padding:11px 24px;border-radius:999px;text-decoration:none;font-weight:600}.em-sig{color:#5f5559}.em-foot{background:#fdf0f3;color:#5f5559;font-size:11px;padding:12px 18px;line-height:1.6}
.em-prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-bottom:10px}.em-prods div{display:flex;flex-direction:column;gap:2px;font-size:13px}.em-prods img,.em-prods .m-prod-ph{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px}.em-prods span{color:#b3122e;font-weight:600}
.a-email .field{margin-bottom:8px}
.a-pf-row{display:grid;grid-template-columns:96px 1fr;gap:12px;margin-bottom:12px}.a-pf-row img{width:96px;height:96px;object-fit:cover;border-radius:12px}.a-pf-row div{display:grid;gap:4px;min-width:0}.a-pf-row label{font-size:12px;color:var(--muted)}
.a-uthumbs{display:flex;gap:6px;justify-content:flex-end;margin-bottom:4px}.a-uthumbs img{width:64px;height:64px;object-fit:cover;border-radius:10px}
.a-tray{display:flex;gap:8px;padding:10px 14px 0;background:var(--surface);flex-wrap:wrap}.a-th{position:relative}.a-th img{width:56px;height:56px;object-fit:cover;border-radius:10px;display:block}.a-th button{position:absolute;top:-6px;right:-6px;width:22px;height:22px;border-radius:50%;border:0;background:#111;color:#fff;cursor:pointer;font-size:13px;line-height:1}
.a-plus-wrap{position:relative}.a-plus{font-size:24px;font-weight:300;background:var(--rose)!important;color:#fff!important;border:0}.a-plus-menu{position:absolute;bottom:56px;left:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow);padding:6px;min-width:190px;z-index:5}.a-plus-menu label{display:flex;gap:10px;align-items:center;padding:12px;border-radius:10px;cursor:pointer;font-size:14px;min-height:44px}.a-plus-menu label:hover{background:var(--surface2)}
.m-site-hero.has-img h3,.m-site-hero.has-img p{text-shadow:0 1px 8px #0008}
/* v15: wrapped date/time fields — visible display matches text inputs; real input is a transparent overlay */
.dt-wrap{position:relative;display:block;width:100%;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box}
.dt-display{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;box-sizing:border-box;min-height:54px;height:54px;padding:13px 15px;border:1px solid var(--border);border-radius:11px;background:var(--bg);color:var(--text);font:inherit;text-align:left;overflow:hidden}
.dt-text{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}
.dt-wrap.empty .dt-text{color:var(--muted)}
.dt-ic{width:20px;height:20px;flex:none;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.dt-wrap.focus .dt-display{outline:2px solid var(--accent);outline-offset:2px;border-color:var(--accent)}
.dt-wrap.disabled .dt-display{opacity:.55}
.dt-wrap>input[type=date],.dt-wrap>input[type=time],.dt-wrap>input[type=datetime-local]{position:absolute!important;inset:0!important;width:100%!important;min-width:0!important;max-width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0!important;font-size:16px!important;cursor:pointer;-webkit-appearance:none;appearance:none;background:transparent;color:transparent;z-index:1}
.dt-wrap>input::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
/* v15: equal-height academy course cards */
.l-courses{align-items:stretch;grid-auto-rows:1fr}.l-courses>.l-course{height:100%;margin:0!important;display:flex;flex-direction:column;box-sizing:border-box}.l-courses>.l-course>.l-course-art{flex:none;height:110px;margin-top:0}.l-courses>.l-course>.btn:last-child{margin-top:auto;align-self:flex-start}.l-course.soon{opacity:1}.l-course.soon .l-course-art{filter:grayscale(.2)}
/* ===== v16: AI add-on ===== */
.ai-meter .ai-bar{height:12px;border-radius:99px;background:rgba(127,127,127,.2);overflow:hidden;margin:10px 0}.ai-meter .ai-bar i{display:block;height:100%;background:var(--brand,#2f6fed);border-radius:99px}.ai-meter.warn .ai-bar i{background:#e0892b}
.ai-nums{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px}.ai-nums small{opacity:.7}.ai-badge{font-size:12px;font-weight:700;padding:4px 10px;border-radius:99px;background:rgba(127,127,127,.15)}.ai-badge.off{opacity:.7}
.ai-warn{background:#fff3e0;color:#7a3d00;border:1px solid #f0b46b;border-radius:10px;padding:10px 12px;margin:8px 0}
.ai-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:16px 0}.ai-tier{position:relative;border:1px solid rgba(127,127,127,.3);border-radius:16px;padding:22px 18px;display:flex;flex-direction:column;gap:6px;background:var(--panel,rgba(127,127,127,.05))}.ai-tier ul{list-style:none;padding:0;margin:8px 0 14px;flex:1}.ai-tier li{margin:5px 0;font-size:14px}.ai-tier.pop{border:2px solid var(--brand,#2f6fed);box-shadow:0 8px 24px rgba(0,0,0,.12)}.ai-tier.cur{outline:3px solid #3aa76d}.ai-pop{position:absolute;top:-12px;left:18px;background:var(--brand,#2f6fed);color:#fff;font-size:12px;font-weight:700;padding:3px 10px;border-radius:99px}.ai-price b{font-size:32px}.ai-tier h3{margin:0}.ai-note{text-align:center}.ai-plan-note{display:block;margin-top:4px;font-weight:600}
/* ===== v16: Restaurant (Copper Coulee) ===== */
html body.resto.resto{--brand:#c8743a;--accent:#f2c14e}
body.resto .r-brand{display:flex;align-items:center;gap:10px;color:#c8743a;font-weight:800}body.resto .r-brand small{display:block;font-size:10px;letter-spacing:.08em;opacity:.7;color:inherit}.r-mark{width:34px;height:34px;flex:none;color:#c8743a}.demo-co .r-mark{width:22px;height:22px;margin-right:4px}
body.resto .btn.primary{background:#c8743a;border-color:#c8743a;color:#fff}body.resto .nav a.active,body.resto .nav button.active{color:#c8743a}
.r-install{display:flex;align-items:center;gap:12px;background:#fff7ec;color:#4a2a10;border:1px solid #f2c79a;border-radius:14px;padding:12px 14px;margin-bottom:14px}.r-install>div{font-size:24px}.r-install p{flex:1;margin:0}.r-install span{display:block;font-size:13px;opacity:.8}
.r-punch{text-align:center}.r-punch h1{margin:6px 0}.r-punch.on{border:2px solid #3aa76d}.r-punch select{width:100%;margin:6px 0 12px}.btn.big{min-height:56px;font-size:18px}.btn.full{width:100%;justify-content:center}.r-geo{font-weight:600;color:#2d7a4f}.r-geo.bad{color:#b3261e}.r-sim{margin-top:10px;font-size:13px}
.r-chip{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;background:rgba(200,116,58,.15);color:#a85a24;margin:2px}.r-chip.bad{background:#fde3e1;color:#b3261e}.r-chip.ok{background:#dff3e7;color:#22663f}
.r-ann{border-left:3px solid #c8743a;padding:4px 12px;margin:10px 0}.r-ann p{margin:0 0 4px}.r-ann small{opacity:.7}
.r-list{list-style:none;padding:0;margin:0}.r-list li{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid rgba(127,127,127,.18);flex-wrap:wrap}.r-list li:last-child{border-bottom:0}.r-list time{min-width:110px;font-size:13px}.r-list time b{display:block}.r-list li>div{flex:1;min-width:120px}.r-list li>div span{display:block;font-size:13px;opacity:.75}ul.r-list.card{padding:4px 18px}
.r-alerts{list-style:none;padding:0}.r-alerts li{padding:10px 0;border-bottom:1px solid rgba(127,127,127,.18)}.r-alerts li.bad{color:#b3261e;font-weight:600}
.r-week{overflow-x:auto;margin-bottom:18px}.r-grid td,.r-grid th{min-width:92px;font-size:12px;vertical-align:top}.r-grid td small{display:block;opacity:.7}.r-shift{display:block;background:rgba(200,116,58,.15);border-radius:6px;padding:3px 6px;margin:2px 0;white-space:nowrap}.r-shift.pend{background:#fde3e1}.r-role-manager{background:rgba(242,193,78,.3)}.r-role-line,.r-role-dishwasher{background:rgba(58,167,109,.18)}
.r-approvals select{max-width:200px}.r-lowrow{background:rgba(179,38,30,.06)}.r-count{width:80px}.r-low{border:1px solid #f0b46b;background:#fff8ef;color:#5a3000}.r-po{border:1px solid rgba(127,127,127,.25);border-radius:12px;padding:12px;margin:10px 0}
.r-snap-btns{display:flex;gap:10px;flex-wrap:wrap}.r-scan{position:relative;max-width:300px;margin:auto;text-align:center}.r-scan img,.r-scan-done img{width:100%;max-width:220px;border-radius:10px;border:1px solid rgba(127,127,127,.3)}.r-scan-bar{position:absolute;left:0;right:0;top:0;height:4px;background:#c8743a;box-shadow:0 0 14px #c8743a;animation:rscan 1.2s linear infinite}@keyframes rscan{to{top:85%}}
.r-scan-done{display:grid;grid-template-columns:200px 1fr;gap:16px;margin-bottom:14px}.r-scan-done input{width:100%;min-width:60px}.r-tot{text-align:right}@media(max-width:700px){.r-scan-done{grid-template-columns:1fr}.r-scan-done img{max-width:140px}}
.r-check{list-style:none;padding:0}.r-check li{padding:8px 0}
.r-bars{display:flex;gap:10px;align-items:flex-end;height:200px;padding-top:20px}.r-bar{flex:1;display:flex;align-items:flex-end;gap:3px;height:100%;position:relative;padding-bottom:36px}.r-bar i{flex:1;border-radius:4px 4px 0 0;display:block}.r-bar i.s{background:#c8743a}.r-bar i.l{background:#3a6e8f}.r-bar b{position:absolute;bottom:16px;left:0;right:0;text-align:center;font-size:12px}.r-bar span{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:11px;opacity:.7}.l-legend .c-s i{background:#c8743a}.l-legend .c-l i{background:#3a6e8f}.l-legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px}.l-legend span{margin-right:14px}
.r-chat-log{max-height:340px;overflow:auto;display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.r-msg{max-width:80%;background:rgba(127,127,127,.12);border-radius:14px;padding:8px 12px}.r-msg.me{align-self:flex-end;background:rgba(200,116,58,.18)}.r-msg p{margin:2px 0}.r-msg small{opacity:.6;font-size:11px}.r-chat-in{display:flex;gap:8px}.r-chat-in input{flex:1}
.r-ai-h{display:flex;align-items:center;gap:10px;margin-bottom:10px}.r-ai-h .a-demo{margin-left:auto;font-size:11px;font-weight:700;background:#fff3e0;color:#7a3d00;padding:3px 8px;border-radius:99px}.r-ai-log{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto;margin-bottom:10px}.r-ai-msg{max-width:85%;padding:10px 14px;border-radius:14px;background:rgba(127,127,127,.12)}.r-ai-msg.u{align-self:flex-end;background:#c8743a;color:#fff}.r-ai-msg p{margin:0}
body.resto .a-prompts{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}body.resto .a-input{display:flex;gap:8px}body.resto .a-input input{flex:1}
.r-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px}.r-stats>div{background:var(--panel,rgba(127,127,127,.06));border:1px solid rgba(127,127,127,.2);border-radius:14px;padding:14px}.r-stats span,.r-stats small{display:block;font-size:12px;opacity:.75}.r-stats strong{font-size:24px}
/* ===== v16: Marketing homepage ===== */
body.site-body{background:#0d1524;color:#eef2f8}body.site-body #app{max-width:none}.site{font-family:inherit;max-width:1180px;margin:0 auto;padding:0 20px}
.site-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:16px;padding:14px 0;background:rgba(13,21,36,.94);backdrop-filter:blur(8px)}.site-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:18px}.site-logo img{border-radius:8px}.site-logo b{color:#ffb547}.site-links{display:flex;gap:18px;margin-left:auto}.site-links a{color:#c5d0e0;text-decoration:none;font-weight:600}.site-cta{display:flex;gap:8px}
.site .btn{text-decoration:none}.site .btn.primary{background:#ffb547;border-color:#ffb547;color:#1a1200}.site .btn:not(.primary){color:#fff;border-color:rgba(255,255,255,.4);background:transparent}
.site-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;padding:60px 0}.site-hero h1{font-size:clamp(34px,5vw,56px);line-height:1.05;margin:10px 0}.site-hero h1 span{color:#ffb547}.site-lead{font-size:18px;color:#c5d0e0;max-width:720px}.site-big{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 8px}.site-big .btn{min-width:180px;justify-content:center}
.site-phone{justify-self:center;width:260px;height:520px;border-radius:40px;border:10px solid #22314b;background:#f6f3ee;padding:22px 16px;color:#1b2333;box-shadow:0 30px 60px rgba(0,0,0,.4)}.sp-eyebrow{font-size:11px;font-weight:800;letter-spacing:.1em;color:#2d7a4f;text-align:center}.sp-big{font-size:22px;font-weight:800;text-align:center;margin:4px 0}.sp-geo{text-align:center;font-size:13px;color:#2d7a4f}.sp-btn{background:#1b2333;color:#fff;border-radius:12px;padding:14px;text-align:center;font-weight:700;margin:14px 0}.sp-card{background:#fff;border-radius:12px;padding:10px 12px;margin:8px 0;font-size:13px}.sp-card b,.sp-card span{display:block}
.site-sec{padding:48px 0;border-top:1px solid rgba(255,255,255,.08)}.site-sec h2{font-size:32px;margin:0 0 16px}.site-sub{margin-top:28px}
.site-grid4{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.site-grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.site-grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}
.site-feat,.site-ind,.site-base{background:#15223a;border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px}.site-feat span,.site-ind span{font-size:28px}.site-feat h3,.site-ind h3{margin:8px 0 6px}.site-feat p,.site-ind p{color:#c5d0e0;margin:0}
.site-steps{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.site-steps li{background:#15223a;border-radius:16px;padding:20px}.site-steps b{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffb547;color:#1a1200}.site-steps p{color:#c5d0e0}
.site .ai-tier{background:#15223a;border-color:rgba(255,255,255,.12)}.site .ai-tier .quiet,.site .ai-tier li{color:#c5d0e0}.site .ai-tier.pop{border-color:#ffb547}.site .ai-pop{background:#ffb547;color:#1a1200}.site-base .ai-price b{color:#ffb547}
.site-media{aspect-ratio:16/9;border-radius:16px;display:grid;place-content:center;text-align:center;background:#15223a;border:2px dashed rgba(255,255,255,.2)}.site-media span{font-size:46px}.site-media.yt span{color:#ff4b4b}.site-media.ig span{color:#e1306c}.site-media p{margin:6px 0 0;font-weight:700}.site-media small{opacity:.6}
.site-faq{background:#15223a;border-radius:12px;padding:14px 18px;margin:10px 0}.site-faq summary{cursor:pointer;font-weight:700}.site-faq p{color:#c5d0e0}
.site-final{text-align:center;padding:56px 0}.site-final .site-big{justify-content:center}.site-foot{text-align:center;padding:24px 0 40px;color:#8d9bb2;font-size:14px;border-top:1px solid rgba(255,255,255,.08)}.site-foot a{color:#c5d0e0}
@media(max-width:760px){.site-hero{grid-template-columns:1fr;padding:30px 0}.site-links{display:none}.site-cta{margin-left:auto}.site-phone{width:220px;height:440px}.site-big .btn{flex:1;min-width:0}}
.ai-tiers{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
@media(max-width:1100px){.r-scan-done{grid-template-columns:1fr}.r-scan-done img{max-width:160px}}
.r-scan-done td:first-child input{min-width:150px}.r-scan-done table{width:100%}.site-cta .btn{white-space:nowrap}
.site-trust{text-align:center;padding:26px 0;border-top:1px solid rgba(255,255,255,.08)}.site-trust-row{display:flex;justify-content:center;flex-wrap:wrap;gap:16px}.site-trust-co{display:flex;align-items:center;gap:12px;background:#15223a;border-radius:14px;padding:10px 18px;text-align:left}.site-trust-co img{height:44px;width:auto;max-width:90px;object-fit:contain;background:#fff;border-radius:8px;padding:4px}.site-trust-co b,.site-trust-co small{display:block}.site-trust-co small{color:#8d9bb2}
.site-trust-mark{display:grid;place-items:center;width:52px;height:44px;background:#fff;border-radius:8px;color:#c8743a}.site-trust-mark svg{width:34px;height:34px}
@font-face{font-family:'Dancing Script';src:url(assets/dancing-script.ttf) format('truetype');font-weight:400 700;font-display:swap}
.who-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:start}.who-story p{font-size:18px;line-height:1.6;color:#d5deeb;margin:0 0 14px}
.who-sig{margin-top:22px}.sig-script{display:inline-block;font-family:'Dancing Script','Snell Roundhand','Apple Chancery','Brush Script MT',cursive;font-weight:700;font-size:48px;color:#ffb547;line-height:1.2;padding-right:8px;clip-path:inset(0 100% 0 0);-webkit-clip-path:inset(0 100% 0 0)}.who-sig.in .sig-script{animation:sigdraw 1.8s cubic-bezier(.45,.05,.3,1) .3s forwards}@keyframes sigdraw{to{clip-path:inset(0 0 0 0);-webkit-clip-path:inset(0 0 0 0)}}.sig-svg{display:block;height:1.3em;width:auto;color:#ffb547;overflow:visible}.sig-title{display:block;color:#8d9bb2;font-size:14px;letter-spacing:.04em;border-top:1px solid rgba(255,255,255,.2);padding-top:6px;max-width:280px}
.site .reveal{opacity:0;transform:translate3d(0,18px,0);transition:opacity .6s ease var(--d,0ms),transform .6s ease var(--d,0ms);will-change:opacity,transform}.site .reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.site .reveal{opacity:1;transform:none;transition:none}.sig-script{clip-path:none!important;-webkit-clip-path:none!important;animation:none!important}}
@media(max-width:760px){.who-grid{grid-template-columns:1fr}.sig-script{font-size:40px}}
.site-ten h2{font-size:clamp(28px,4vw,42px)}.ten-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:18px 0}.ten-item{display:flex;align-items:center;gap:12px;background:#15223a;border:1px solid rgba(255,181,71,.25);border-radius:14px;padding:14px 16px}.ten-item span{font-size:24px}.ten-item b{font-size:15px}
.site-sec{scroll-margin-top:84px}
.site-who .who-grid{grid-template-columns:1fr;max-width:760px;margin:0 auto}.who-logo{display:flex;flex-direction:column;align-items:center;gap:14px;margin:36px auto 8px;text-align:center}.who-logo img{width:clamp(140px,32vw,220px);height:auto;border-radius:36px;box-shadow:0 18px 50px rgba(255,181,71,.18)}.who-logo span{font-size:clamp(24px,4vw,34px);font-weight:700;color:#fff}.who-logo b{color:#ffb547}.site .who-logo.reveal{transform:scale(.92);transition:opacity .9s ease .2s,transform .9s cubic-bezier(.2,.8,.2,1) .2s}.site .who-logo.reveal.in{transform:none}
.site-soon{text-align:center}.site-soon .site-lead{margin:0 auto}
@media(prefers-reduced-motion:reduce){.site .who-logo.reveal{opacity:1;transform:none;transition:none}}
.site-proud{font-weight:700;color:#eef2f8;font-size:15px;letter-spacing:.02em}
.site-signup{max-width:860px;margin:0 auto}.site-form{background:#15223a;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:22px}.site-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.site-form label{color:#eef2f8;font-weight:600}.site-form input,.site-form select,.site-form textarea{width:100%;font-size:16px}.site-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}.site-form-err{background:#fde3e1;color:#7a1410;border-radius:10px;padding:10px 12px}.site-form-err a{color:#7a1410;font-weight:700}.site-thanks{background:#15223a;border:2px solid #ffb547;border-radius:18px;padding:26px;text-align:center}.site-thanks h3{color:#ffb547;font-size:24px;margin:0 0 6px}
@media(max-width:700px){.site-form-grid{grid-template-columns:1fr}}
