:root{--ink:#273842;--deep:#1d2e38;--blue:#7a99ac;--sky:#bfcdd7;--canvas:#f2efe6;--wine:#592734;--paper:#fffefa;--line:#e7e8e7;--muted:#7b868b;--text:#293840;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin-top:0}h1,h2,h3{letter-spacing:-.035em}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{outline:none}input:focus,select:focus,textarea:focus{border-color:var(--blue)!important;box-shadow:0 0 0 3px #7a99ac22}button:focus-visible,a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}::selection{background:#bfcdd7}small{font-size:.78em}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.22em;color:var(--blue)}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#8ab69e;box-shadow:0 0 0 4px #8ab69e21;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:14px 22px;border:1px solid var(--ink);font-size:12px;font-weight:800;letter-spacing:.02em;min-height:44px;transition:transform .15s,background .15s,border-color .15s}.btn:hover{transform:translateY(-1px)}.btn span:last-child{font-size:17px;font-weight:400}.btn-primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn-primary:hover{background:#3e5763}.btn-outline{background:transparent;color:var(--ink);border-color:#c9d2d4}.btn-outline:hover{border-color:var(--ink);background:#f6f8f8}.btn-small{min-height:36px;padding:8px 14px;font-size:11px;gap:8px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:800;letter-spacing:.015em;color:var(--ink)}.field>span{color:#b57a70}.field .field-optional{font-weight:400;color:#9b9f9e}.field input,.field select,.field textarea{width:100%;padding:13px 14px;min-height:46px;border:1px solid #dce2e1;border-radius:2px;background:#fff;color:var(--ink);font-size:13px;font-weight:500}.field textarea{resize:vertical}.field input::placeholder{color:#aab0b2}.field>small{font-weight:400;color:var(--muted);font-size:10px;line-height:1.6}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6' stroke='%23273842' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:34px}.flash-container{position:fixed;right:18px;top:18px;z-index:100}.flash{padding:15px 20px;background:var(--ink);color:white;box-shadow:0 10px 30px #0002;max-width:350px;font-size:12px;line-height:1.5}.flash.error{background:var(--wine)}.flash.success{background:#3c6759}
/* Landing */
.site-wrap{max-width:1550px;margin:auto;min-height:100vh;padding:0 5vw;display:flex;flex-direction:column}.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dddcd7}.brandmark{display:inline-flex;align-items:center;gap:15px}.brand-symbol{font:55px/1 var(--serif);letter-spacing:-.06em;color:var(--ink)}.brand-dot{color:var(--blue)}.brand-divider{height:38px;width:1px;background:#ccd2d1}.brand-name{font-size:17px;letter-spacing:-.05em;font-weight:700;line-height:1.1}.brand-name small{display:block;font-size:8px;letter-spacing:.28em;font-weight:700;margin-top:7px}.nav-link{font-size:12px;font-weight:700;border-bottom:1px solid var(--blue);padding-bottom:6px}.landing-hero{display:grid;grid-template-columns:1fr .83fr;flex:1;gap:70px;align-items:center;padding:40px 0 64px;min-height:600px}.hero-copy{padding:50px 0 65px}.hero-copy .eyebrow{display:inline-flex;gap:15px;align-items:center;color:#647984}.hero-copy h1{font:clamp(60px,6.5vw,105px)/.99 var(--serif);letter-spacing:-.045em;margin:30px 0;color:var(--ink)}.hero-copy em,.order-intro em,.tracker-container h1 em,.login-card em,.admin-heading-row em,.how-panel em{font-weight:400;color:var(--blue)}.hero-copy p{font-size:16px;line-height:1.9;max-width:450px;color:#69777d;margin-bottom:30px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap}.hero-points{display:flex;gap:34px;margin-top:80px;font-size:10px;letter-spacing:.13em;font-weight:800;color:#929e9e}.hero-art{background:var(--sky);min-height:540px;display:flex;flex-direction:column;justify-content:space-between;padding:25px 30px;overflow:hidden;position:relative}.hero-art:before,.hero-art:after{content:'';position:absolute;width:180px;height:180px;border:1px solid #fff5;border-radius:50%}.hero-art:before{top:60px;right:-90px}.hero-art:after{bottom:70px;left:-100px}.art-top,.art-bottom{z-index:1;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:9px;font-weight:800;letter-spacing:.14em;color:#536e7e}.art-bottom{font-size:11px;letter-spacing:0}.hoop{height:355px;width:355px;max-width:85%;aspect-ratio:1;margin:auto;position:relative;border-radius:50%;background:#beccce;border:18px solid #d5ad7b;box-shadow:0 0 0 4px #a77d4c,0 18px 45px #51687930,inset 0 3px 14px #0002;display:grid;place-items:center;transform:rotate(-7deg)}.hoop-interior{text-align:center;color:var(--ink)}.hoop-letters{font:75px/1 var(--serif);letter-spacing:-.06em}.hoop-letters i{color:var(--wine)}.hoop-stitches{display:block;font-size:15px;margin-top:25px;letter-spacing:.8em}.landing-footer{height:58px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #dddcd7;font-size:9px;letter-spacing:.17em;font-weight:800;color:#839397}
/* Customer */
.customer-page,.tracking-page{background:#fff}.customer-header{height:90px;display:flex;align-items:center;justify-content:space-between;padding:0 6%;border-bottom:1px solid #e9e9e6}.customer-logo{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;line-height:1.05;letter-spacing:-.04em}.customer-logo small{font-size:7px;letter-spacing:.27em;line-height:2}.mini-ft{font:40px/1 var(--serif);letter-spacing:-.06em}.header-event{color:#879398;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.header-right{font-size:9px;font-weight:800;letter-spacing:.13em;display:flex;align-items:center;gap:11px}.order-layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;max-width:1340px;margin:0 auto;min-height:80vh}.order-main{padding:66px 9% 80px 10%}.order-intro{margin-bottom:48px}.order-intro h1{font:clamp(53px,5vw,75px)/1 var(--serif);margin:16px 0 15px}.order-intro>p{color:#818d90;line-height:1.75;font-size:14px;max-width:410px}.form-section{padding:27px 0 35px;border-top:1px solid #e5e9e8}.form-section-title{display:flex;gap:17px;align-items:flex-start;margin-bottom:26px}.step-number{width:31px;height:31px;border-radius:50%;background:var(--canvas);display:grid;place-items:center;color:var(--ink);font-size:11px;font-weight:800;flex-shrink:0}.form-section-title h2{font:26px/1.1 var(--serif);margin:0 0 6px}.form-section-title p{font-size:11px;color:#849299;margin:0}.order-form .field{margin-bottom:17px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.item-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.item-option{position:relative;min-height:122px;padding:15px 7px;background:#fff;border:1px solid #dfe5e4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;cursor:pointer;transition:all .2s}.item-option:has(input:checked){background:#ecf2f5;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}.item-option input,.swatch-wrap input{position:absolute;opacity:0;pointer-events:none}.item-option:has(input:focus-visible),.swatch-wrap:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}.item-icon{font:34px/1 var(--serif);color:var(--ink)}.item-option strong{font-size:10px}.item-option small{font-size:9px;color:#818d90}.item-check{position:absolute;top:6px;right:7px;font-size:12px;color:var(--ink);display:none}.item-option:has(input:checked) .item-check{display:block}.thread-swatches{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:15px 0 24px}.swatch-wrap{display:flex;align-items:center;gap:7px;flex-direction:column;text-align:center;position:relative;cursor:pointer}.swatch{width:36px;height:36px;display:block;border-radius:50%;background:var(--swatch);border:2px solid #fff;box-shadow:0 0 0 1px #d9e1e0}.swatch-wrap:has(input:checked) .swatch{box-shadow:0 0 0 2px var(--ink)}.swatch-wrap small{color:#8d999c;line-height:1.3;font-size:9px;font-weight:500}.consent{display:flex;gap:12px;align-items:flex-start;font-size:12px;line-height:1.65;color:#606f74;margin:3px 0 22px}.consent input{width:17px;height:17px;accent-color:var(--ink);flex-shrink:0}.submit-order{width:100%;justify-content:space-between;min-height:54px}.under-button{text-align:center;font-size:10px;color:#9ba7ab;margin-top:15px}.order-side{background:#eff3f3;position:relative}.order-side-inner{position:sticky;top:10px;padding:74px 38px 40px}.preview-hoop{aspect-ratio:1;border:15px solid #bf9d71;background:#d5e0df;box-shadow:0 0 0 3px #9d784c,0 20px 40px #b9c6cb70,inset 0 1px 20px #0001;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;margin:50px 15px 30px;transform:rotate(-6deg)}#preview-text{max-width:100%;font:clamp(30px,4vw,53px)/1.1 var(--serif);text-align:center;overflow-wrap:anywhere;padding:0 15px;color:var(--ink)}.preview-sub{font-size:11px;font-style:italic;margin-top:13px;color:var(--wine)}.preview-caption{text-align:center;font-size:11px;color:#8e9b9d;margin-bottom:55px}.order-summary{border-top:1px solid #d3dedd}.summary-row{display:flex;justify-content:space-between;padding:15px 0;border-bottom:1px solid #d3dedd;font-size:12px;color:#75868b}.summary-row strong{color:var(--ink)}.summary-total{padding-top:26px;font-weight:800;color:var(--ink)}.summary-total strong{font-size:17px}.order-side-note{margin-top:35px;display:flex;gap:14px;align-items:flex-start;color:#76868b}.order-side-note span{font-size:24px;color:var(--wine)}.order-side-note p{font-size:11px;line-height:1.8;margin:0}.customer-footer{display:flex;justify-content:space-between;padding:21px 6%;font-size:9px;font-weight:800;letter-spacing:.17em;background:#fff;border-top:1px solid #ebeeee;color:#819196}.closed-panel{padding:35px;background:var(--canvas)}
/* Tracker */
.tracking-page{background:#fdfdfa}.tracker-container{max-width:650px;margin:55px auto 90px;padding:0 25px}.tracker-top{display:flex;align-items:center;justify-content:space-between}.ticket-badge{background:#ebf1f2;color:var(--ink);padding:9px 13px;font-size:11px;font-weight:800;letter-spacing:.06em}.tracker-container h1{font:clamp(52px,8vw,83px)/1 var(--serif);letter-spacing:-.06em;margin:25px 0}.tracker-lede{font-size:14px;line-height:1.8;max-width:470px;color:#7b8b90;margin:0 0 35px}.status-feature{background:var(--ink);color:#fff;padding:24px;display:flex;gap:23px;align-items:center;min-height:120px}.status-feature-icon{width:65px;height:65px;background:#ffffff15;display:grid;place-items:center;font:39px var(--serif)}.status-feature-label{font-size:10px;letter-spacing:.17em;color:#bed0d4;font-weight:800}.status-feature h2{margin:7px 0 0;font:30px var(--serif)}.status-live{margin-left:auto;font-size:10px;display:flex;align-items:center;gap:9px}.tracker-steps{display:flex;align-items:flex-start;justify-content:space-between;padding:40px 0 43px}.tracker-step{width:72px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;color:#a4aaac}.tracker-step span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid #ccd6d7;background:#fff;font-size:12px;font-weight:800}.tracker-step small{font-size:10px}.tracker-step.done span{background:var(--ink);color:#fff;border-color:var(--ink)}.tracker-step.current span{background:#deebef;color:var(--ink);border-color:var(--blue);box-shadow:0 0 0 4px #7a99ac22}.tracker-step.done,.tracker-step.current{color:var(--ink);font-weight:800}.tracker-line{height:1px;background:#cbd4d5;flex:1;margin:17px -7px 0;min-width:15px}.tracker-info{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #e0e6e5;border-bottom:1px solid #e0e6e5;padding:25px 0;gap:15px}.tracker-info div{display:flex;flex-direction:column;gap:8px}.tracker-info small{font-size:9px;color:#90a0a4;letter-spacing:.13em;font-weight:800}.tracker-info strong{font-size:13px;overflow-wrap:anywhere}.eta-panel{padding:25px;margin:25px 0;background:#edf3f4;display:flex;gap:18px;align-items:flex-start}.eta-panel>span{font:30px var(--serif)}.eta-panel strong{font-size:13px}.eta-panel p{font-size:11px;line-height:1.7;color:#73878b;margin:7px 0 0}.share-button{width:100%;justify-content:space-between}.tracker-foot{font-size:10px;text-align:center;color:#8b989e;line-height:1.7;margin-top:23px}
/* Login */
.login-page{background:var(--canvas)}.login-shell{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:50px 20px}.login-shell>.brandmark{margin:0 auto 70px}.login-card{width:min(100%,460px);background:#fff;padding:54px 48px;box-shadow:0 18px 55px #192b3510}.login-card h1{font:65px/.95 var(--serif);margin:22px 0}.login-card>p{font-size:13px;line-height:1.7;color:#87969a;margin-bottom:32px}.login-card .field{margin-bottom:20px}.login-back{font-size:11px;margin-top:30px;color:#73868c}
/* Admin */
.admin-page{background:#f8faf9}.admin-shell{display:flex;min-height:100vh}.admin-sidebar{width:250px;min-width:250px;background:var(--ink);color:#e9f1f2;min-height:100vh;display:flex;flex-direction:column;padding:30px 20px;position:sticky;top:0;height:100vh}.admin-brand{display:flex;align-items:center;gap:12px;padding:0 8px 33px;border-bottom:1px solid #ffffff24}.sidebar-mark{font:43px/1 var(--serif);letter-spacing:-.07em}.admin-brand strong{display:block;font-size:14px;letter-spacing:-.03em}.admin-brand small{font-size:7px;letter-spacing:.16em;color:#b7c8ce}.sidebar-section-title{margin:35px 15px 10px;font-size:9px;letter-spacing:.2em;color:#9fb3b9;font-weight:800}.admin-nav{display:flex;flex-direction:column;gap:5px}.admin-nav a{padding:13px 14px;color:#c3d1d6;display:flex;gap:14px;align-items:center;font-size:12px;border-radius:3px}.admin-nav a:hover{background:#ffffff10;color:#fff}.admin-nav a.active{background:#ffffff1d;color:#fff;font-weight:800}.admin-nav a span{font-size:17px;min-width:17px;text-align:center}.sidebar-bottom{margin-top:auto}.sidebar-help{padding:20px 16px 22px;background:#ffffff0e;margin-bottom:24px}.sidebar-help>span{font:25px var(--serif)}.sidebar-help strong{display:block;margin:9px 0;font-size:12px}.sidebar-help p{font-size:10px;color:#bacbd0;line-height:1.8;margin:0}.sidebar-logout{color:#c9d6db;background:none;border:none;font-size:12px;padding:10px 15px;cursor:pointer}.admin-content{min-width:0;flex:1}.admin-topbar{height:75px;background:#fff;border-bottom:1px solid #e8eeec;padding:0 40px;display:flex;align-items:center;justify-content:space-between}.admin-breadcrumb{font-size:10px;letter-spacing:.15em;color:#99a6a8;font-weight:700}.admin-breadcrumb strong{color:var(--ink)}.admin-top-right{display:flex;gap:20px;align-items:center}.connection-pill{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.08em;font-weight:800;color:#5b7e73}.admin-avatar{height:32px;width:32px;border-radius:50%;background:#d9e6e9;color:var(--ink);display:grid;place-items:center;font-size:10px;font-weight:800}.admin-body{max-width:1700px;margin:auto;padding:45px 40px 25px}.admin-heading-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.admin-heading-row h1{font:clamp(32px,3.4vw,45px)/1.1 var(--serif);margin:9px 0}.admin-heading-row p{font-size:12px;color:#889599;margin:0}.event-toolbar{display:flex;gap:18px;justify-content:space-between;align-items:center;padding:17px 20px;background:#fff;border:1px solid #e9eeeb;margin-bottom:17px}.event-title-block{display:flex;align-items:center;gap:18px;min-width:0}.event-pill{flex-shrink:0;padding:7px 9px;background:#e7f1ea;color:#517763;font-weight:800;letter-spacing:.08em;font-size:9px}.event-title-block strong{display:block;font-size:13px}.event-title-block small{display:block;color:#91a0a3;font-size:10px;margin-top:4px}.toolbar-right{display:flex;align-items:center;gap:7px}.toolbar-right select{max-width:160px;padding:9px 24px 9px 8px;border:1px solid #e1e9e6;color:var(--ink);background:#fff;font-size:11px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:42px}.stat-card{background:#fff;border:1px solid #e8edeb;padding:21px 22px 20px;min-height:155px;display:flex;flex-direction:column}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#76898e;font-weight:600}.stat-icon{font-size:23px;font-weight:400;color:#90a7b0}.stat-card>strong{font:43px/1 var(--serif);color:var(--ink);margin:20px 0 5px}.stat-card>small{color:#9ca9ab;font-size:10px}.stat-card-ink{background:var(--ink);color:#fff;border-color:var(--ink)}.stat-card-ink .stat-top,.stat-card-ink .stat-icon,.stat-card-ink>strong{color:#fff}.stat-card-ink>small{color:#b0c2c8}.queue-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.queue-heading h2{font:26px/1.2 var(--serif);margin:0 0 8px}.queue-head-count{font:12px var(--sans);vertical-align:middle;color:#9aabb0;background:#e8eeee;padding:4px 7px;margin-left:7px}.queue-heading p{font-size:11px;color:#9ca9ab;margin:0}.queue-actions{display:flex;gap:8px}.search-box{min-width:175px;background:#fff;border:1px solid #e4ebe9;padding:8px 11px;font-size:17px;color:#92a1a5;display:flex;align-items:center;gap:8px}.search-box input{border:0;background:none;width:140px;font-size:11px;box-shadow:none!important;padding:0;min-height:20px}.icon-btn{border:1px solid #e4ebe9;background:#fff;width:38px;height:38px;color:var(--ink);font-size:22px}.queue-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start}.queue-column{background:#f0f4f3;min-height:300px;padding:14px}.column-title{display:flex;align-items:center;gap:8px;font-size:10px;font-weight:800;letter-spacing:.1em;padding:2px 0 16px;color:#5a6d72}.column-title b{font-size:10px;padding:3px 8px;background:#e3e8e7;border-radius:14px;margin-left:auto;letter-spacing:0}.column-marker{width:8px;height:8px;border-radius:50%;display:inline-block}.marker-wait{background:#c4aa7c}.marker-progress{background:#7a99ac}.marker-ready{background:#6f9c85}.order-card-list{display:flex;flex-direction:column;gap:10px}.order-card{background:#fff;padding:15px 14px;border:1px solid #e8eeec;box-shadow:0 2px 5px #2a333b05}.order-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px}.order-ticket{font-size:10px;font-weight:800;letter-spacing:.06em;color:#7392a0}.order-time{color:#9ba6a7;font-size:10px}.order-customer{font-size:15px;font-weight:800;color:var(--ink);margin-bottom:4px;overflow-wrap:anywhere}.order-item{font-size:11px;color:#819196;margin-bottom:12px}.order-lettering{border:1px dashed #d4e0df;background:#f8faf9;padding:10px 11px;font-size:11px;color:#6a7b81;line-height:1.6}.order-lettering strong{color:var(--ink);font-size:13px;overflow-wrap:anywhere}.order-bottom{display:flex;align-items:center;gap:7px;margin-top:14px}.order-advance{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--ink);border:0;color:white;padding:10px 5px;font-size:10px;font-weight:800;min-height:35px}.order-advance:hover{background:#425d68}.order-advance.ready{background:#4d7566}.order-edit{border:1px solid #d9e3e2;background:#fff;color:var(--ink);font-size:17px;width:34px;height:35px}.queue-empty{text-align:center;padding:36px 5px;color:#a2b0b0;font-size:11px;line-height:1.8}.queue-empty>span{display:block;font-size:32px;color:#b8c8c9;margin-bottom:8px}.collected-section{margin-top:20px;border:1px solid #e5ece8;background:white;padding:16px}.collected-section summary{cursor:pointer;font-size:11px;font-weight:800;color:#657a80;display:flex;gap:12px;align-items:center}.collected-section summary b{background:#eef2f1;padding:3px 8px}.collected-section summary span{margin-left:auto}.collected-grid{padding-top:18px;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.collected-grid .order-card{background:#f8faf9}.admin-bottom-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:18px;margin-top:35px}.admin-panel{padding:26px;background:#fff;border:1px solid #e8edeb}.panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:25px}.panel-heading h3{font:25px var(--serif);margin:0}.panel-heading>span{font-size:14px;color:#8ca3a9}.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-panel .field{margin-bottom:16px}.toggle-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0 22px;cursor:pointer}.toggle-row strong,.toggle-row small{display:block}.toggle-row strong{font-size:12px}.toggle-row small{font-size:10px;color:#8fa0a3;margin-top:5px}.toggle{position:relative;width:41px;height:23px}.toggle input{opacity:0}.toggle span{position:absolute;inset:0;background:#c1cccc;border-radius:20px;transition:background .2s}.toggle span:after{content:'';position:absolute;width:17px;height:17px;top:3px;left:3px;border-radius:50%;background:white;transition:transform .2s}.toggle input:checked+span{background:var(--ink)}.toggle input:checked+span:after{transform:translateX(18px)}.how-panel{background:var(--sky);border:0;padding:33px}.how-panel h3{font:34px/1.1 var(--serif);margin:17px 0}.how-panel h3 em{color:#657f8c}.how-panel p{font-size:12px;line-height:1.8;color:#596f77}.how-panel .email-status{border-top:1px solid #9db4bd;padding-top:16px;font-size:10px;font-weight:800}.admin-footer{display:flex;justify-content:space-between;padding:35px 0 10px;font-size:9px;letter-spacing:.12em;font-weight:800;color:#a1adb0}.modal-backdrop{position:fixed;inset:0;z-index:200;background:#1321299a;display:flex;align-items:center;justify-content:center;padding:15px}.modal-backdrop[hidden]{display:none}.dialog{background:#fff;width:min(100%,460px);max-height:93vh;overflow-y:auto;padding:32px;position:relative;box-shadow:0 16px 70px #14242a40}.dialog h2{font:36px/1.1 var(--serif);margin:12px 0 22px}.close-modal{position:absolute;right:17px;top:15px;border:0;background:none;font-size:26px;color:#7d8b90}.qr-dialog{text-align:center}.qr-dialog .eyebrow{display:block}.qr-dialog img{width:230px;height:230px;margin:auto}.qr-dialog p{font-size:12px;color:#819195}.qr-dialog input{font-size:11px;width:100%;padding:10px;background:#f4f6f6;border:1px solid #e1e8e7;text-align:center;color:#56717b}.modal-actions{display:flex;justify-content:center;gap:8px;margin-top:20px}.dialog .field{margin-bottom:16px}.detail-meta{background:#f0f4f3;padding:13px;margin-bottom:18px;font-size:11px;line-height:1.8;white-space:pre-line}.detail-footer{display:flex;justify-content:space-between;gap:10px;border-top:1px solid #e5ebe9;margin-top:20px;padding-top:20px}.events-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.event-list-row{display:flex;align-items:center;gap:15px;padding:17px 0;border-bottom:1px solid #e9eeec}.event-list-icon{width:41px;height:41px;display:grid;place-items:center;background:#e9f0f2;color:#7396a1;font:23px var(--serif)}.event-list-row>span:nth-child(2){flex:1}.event-list-row strong,.event-list-row small{display:block}.event-list-row strong{font-size:12px}.event-list-row small{font-size:10px;margin-top:5px;color:#8e9da1}.notfound{min-height:80vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;text-align:center}.big-ft{font:90px var(--serif)}.notfound h1{font:45px var(--serif)}.notfound p{font-size:14px;color:#86969b}
@media(max-width:1150px){.admin-sidebar{width:210px;min-width:210px}.admin-body{padding:35px 25px}.admin-topbar{padding:0 25px}.stats-grid{gap:10px}.stat-card{padding:18px 14px}.toolbar-right{flex-wrap:wrap;justify-content:flex-end}.order-layout{grid-template-columns:minmax(0,1fr) 320px}.order-main{padding:60px 6%}.item-grid{grid-template-columns:repeat(3,1fr)}.thread-swatches{grid-template-columns:repeat(4,1fr)}}
@media(max-width:850px){.landing-hero{grid-template-columns:1fr;gap:15px}.hero-copy{padding:45px 0 0}.hero-copy h1{font-size:70px}.hero-points{margin-top:45px}.hero-art{min-height:440px}.order-layout{grid-template-columns:1fr}.order-side{grid-row:1}.order-side-inner{padding:18px 6%;position:static;display:flex;align-items:center;gap:18px}.order-side .eyebrow,.order-side .preview-caption,.order-side .order-summary,.order-side .order-side-note{display:none}.preview-hoop{margin:0;height:95px;width:95px;border-width:6px;flex-shrink:0}.preview-hoop #preview-text{font-size:18px}.preview-sub{font-size:7px}.order-side:after{content:'A sneak peek of your piece, made just for you.';font-size:13px;color:#5d757e}.order-main{padding:40px 6%}.customer-header{padding:0 5%}.header-event{display:none}.admin-sidebar{width:68px;min-width:68px;padding:24px 9px}.admin-brand{padding:0 0 22px;justify-content:center}.admin-brand>div:last-child,.sidebar-section-title,.admin-nav a:not(.active) span~*,.sidebar-help,.sidebar-logout{display:none}.admin-nav a{justify-content:center;padding:15px 0;font-size:0}.admin-nav a span{font-size:19px}.admin-body{padding:35px 22px}.queue-board{grid-template-columns:1fr 1fr}.queue-column:last-child{grid-column:1/-1}.queue-column:last-child .order-card-list{display:grid;grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-bottom-grid{grid-template-columns:1fr}.events-grid{grid-template-columns:1fr}}
@media(max-width:600px){.site-wrap{padding:0 22px}.site-header{height:86px}.brand-symbol{font-size:45px}.brand-name{font-size:14px}.brand-name small{font-size:7px}.nav-link{font-size:10px}.hero-copy h1{font-size:56px}.hero-copy p{font-size:13px}.landing-hero{padding:10px 0 25px;min-height:auto}.hero-art{min-height:345px;padding:18px}.hoop{height:245px;width:245px;border-width:12px}.hoop-letters{font-size:51px}.art-top,.art-bottom{font-size:8px}.landing-footer{gap:20px;font-size:8px}.header-right{font-size:8px}.customer-header{height:75px}.order-intro h1{font-size:62px}.form-grid{grid-template-columns:1fr;gap:0}.item-grid{grid-template-columns:repeat(3,1fr)}.item-option{min-height:108px}.thread-swatches{grid-template-columns:repeat(4,1fr)}.customer-footer{gap:15px;font-size:8px}.tracker-container{margin:40px auto 65px}.tracker-container h1{font-size:61px}.tracker-step{width:56px}.tracker-step small{font-size:9px}.tracker-line{min-width:5px}.tracker-info{gap:8px}.tracker-info strong{font-size:11px}.login-card{padding:40px 24px}.admin-sidebar{width:56px;min-width:56px}.admin-topbar{height:62px;padding:0 14px}.connection-pill{display:none}.admin-body{padding:25px 13px}.admin-heading-row{align-items:flex-start;flex-direction:column}.admin-heading-row h1{font-size:34px}.event-toolbar{align-items:flex-start;flex-direction:column}.toolbar-right{width:100%;justify-content:flex-start}.toolbar-right select{max-width:115px}.stats-grid{gap:7px;margin-bottom:25px}.stat-card{min-height:125px;padding:13px}.stat-card>strong{font-size:35px;margin:12px 0}.stat-top{font-size:10px}.stat-icon{font-size:17px}.queue-heading{flex-direction:column;align-items:stretch}.queue-actions{width:100%}.search-box{flex:1}.search-box input{width:100%}.queue-board{grid-template-columns:1fr}.queue-column:last-child{grid-column:auto}.queue-column:last-child .order-card-list{grid-template-columns:1fr}.queue-column{min-height:0}.collected-grid{grid-template-columns:1fr}.admin-bottom-grid{margin-top:22px}.setting-grid{grid-template-columns:1fr}.admin-footer{font-size:7px}.dialog{padding:25px 18px}.detail-footer{flex-direction:column}}
@media print{body:has(#qr-modal:not([hidden])) .admin-shell,body:has(#qr-modal:not([hidden])) #order-modal{display:none!important}body:has(#qr-modal:not([hidden])) #qr-modal{position:static;background:white;padding:0}body:has(#qr-modal:not([hidden])) #qr-modal .dialog{box-shadow:none;max-height:none;width:100%;text-align:center}body:has(#qr-modal:not([hidden])) .close-modal,body:has(#qr-modal:not([hidden])) .modal-actions,body:has(#qr-modal:not([hidden])) #event-url{display:none!important}body:has(#qr-modal:not([hidden])) #qr-modal img{height:360px;width:360px}}

/* Persona PRS100 font picker: Brother machine fonts 01 / 02 / 03. */
.font-picker{border:0;margin:6px 0 22px;padding:0;min-width:0}
.font-picker legend{font-size:11px;font-weight:800;color:var(--ink);margin-bottom:12px}
.font-picker legend span{color:#b57a70}
.font-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.font-option{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;position:relative;border:1px solid #dce2e1;background:white;padding:12px 8px 12px;text-align:center;min-height:164px;transition:background .15s,border-color .15s}
.font-option input{position:absolute;opacity:0;pointer-events:none}
.font-option:has(input:checked){background:#ecf2f5;border-color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.font-option:has(input:focus-visible){outline:3px solid var(--blue);outline-offset:2px}
.font-example{height:55px;display:flex;align-items:center;justify-content:center;font-size:36px;white-space:nowrap;line-height:1}.font-example-photo{display:block;width:100%;height:auto;max-height:74px;object-fit:contain;border:1px solid #ececec;background:#fff}
.font-option strong{font-size:12px}
.font-option small{font-size:9px;color:#84959c;letter-spacing:.02em}
.font-cursive,#preview-text[data-font="Cursive"]{font-family:'Allura','Brush Script MT','Segoe Script',cursive;font-weight:400}
.font-block,#preview-text[data-font="Block"]{font-family:'DM Sans',Arial,sans-serif;font-weight:800;letter-spacing:.02em}
.font-serif,#preview-text[data-font="Serif"]{font-family:Georgia,'Times New Roman',serif;font-weight:700}
#preview-text[data-font="Cursive"]{font-size:64px}
#preview-text[data-font="Block"]{font-size:46px}
#preview-text[data-font="Serif"]{font-size:49px}
.font-disclaimer{font-size:10px;color:var(--muted);line-height:1.6;margin:12px 0 0}
.preview-caption small{font-weight:400;font-size:10px;line-height:2}
.autoprint-toggle{display:inline-flex;align-items:center;gap:8px;padding:0 10px;height:40px;border:1px solid #d9e1e0;background:#fff;color:var(--ink);font-size:11px;font-weight:700;white-space:nowrap}.autoprint-toggle input{accent-color:var(--ink)}
.font-option strong{margin-top:2px}
@media(max-width:430px){.font-option{min-height:138px;padding:11px 4px}.font-example{font-size:30px}.font-example-photo{max-height:58px}.font-option small{font-size:8px}}

/* Version 6: no hoop, live font preview, six-character layout, four threads. */
.preview-lettering{margin:32px 0 22px;min-height:210px;border:1px solid #bfd0d4;background:#f8fbfb;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:28px 12px;overflow:hidden}
.preview-lettering #preview-text{font-size:clamp(55px,6vw,82px);line-height:1.35;max-width:100%;overflow-wrap:anywhere;padding:0 5px;white-space:normal;color:var(--ink)}
.preview-lettering .preview-sub{font-family:var(--sans);font-size:9px;font-weight:800;letter-spacing:.22em;color:#79909c;margin:0}
.font-cursive,#preview-text[data-font="Cursive"]{font-family:'Pinyon Script',cursive;font-style:normal;font-weight:400}
.font-block,#preview-text[data-font="Block"]{font-family:'Arimo',Arial,sans-serif;font-weight:700;font-style:normal;letter-spacing:0}
.font-serif,#preview-text[data-font="Serif"]{font-family:'Libre Baskerville',Georgia,serif;font-weight:700;font-style:normal}
.font-option{min-height:136px}
.font-example{font-size:37px}
.font-option .font-example-photo{display:none}
.thread-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}
.notify-choices{display:flex;flex-wrap:wrap;align-items:center;gap:20px;border:0;margin:10px 0 14px;padding:0}
.notify-choices legend{font-size:12px;font-weight:800;margin:0 0 10px}
.notify-choices label,.sms-consent{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;color:var(--ink)}
.notify-choices input,.sms-consent input{accent-color:var(--ink);width:17px;height:17px;flex-shrink:0}
.sms-consent{align-items:flex-start;line-height:1.5;margin:10px 0}
.sms-consent[hidden]{display:none}
.notification-disclaimer{font-size:11px;color:#74818a;line-height:1.6;margin:10px 0 0}
@media(max-width:850px){.preview-lettering{margin:0;min-height:106px;min-width:230px}.preview-lettering #preview-text{font-size:41px}.order-side:after{display:none}}
@media(max-width:430px){.font-option{min-height:128px}.font-example{font-size:30px}.preview-lettering{min-width:0;width:100%}}

/* v7 — raised satin-thread simulation, using the same live text fonts as the font cards. */
.notification-notice{font-size:12px;line-height:1.7;color:#526c77;background:#edf4f4;border-left:3px solid var(--blue);padding:12px 14px;margin:6px 0 17px}
.consent strong{font-weight:800;color:var(--ink)}
.preview-lettering .satin-preview-svg{width:100%;height:auto;max-height:205px;display:block;overflow:visible}
.preview-lettering .satin-letter{padding:0;max-width:none;white-space:pre;font-size:143px;letter-spacing:normal;stroke-linejoin:round;paint-order:stroke fill}
.preview-lettering[data-font="Cursive"] .satin-letter{font-family:'Pinyon Script',cursive;font-weight:400}
.preview-lettering[data-font="Block"] .satin-letter{font-family:'Arimo',Arial,sans-serif;font-weight:700}
.preview-lettering[data-font="Serif"] .satin-letter{font-family:'Libre Baskerville',Georgia,serif;font-weight:700}
.preview-lettering .satin-base{fill:var(--stitch-color,#273842);stroke:rgba(33,45,52,.17);stroke-width:2;filter:drop-shadow(0px 1px 0px rgba(255,255,255,.8)) drop-shadow(1px 3px 1.5px rgba(14,30,38,.28))}
.preview-lettering .satin-texture{fill:url(#ft-satin-threads);stroke:none;opacity:.93;pointer-events:none}
@media(max-width:850px){.preview-lettering .satin-preview-svg{max-height:98px}.preview-lettering{padding:8px 14px;gap:0}}
/* Ensure SVG lettering inherits the selected live web-font over legacy #preview-text typography. */
#preview-lettering[data-font="Cursive"] .satin-letter{font-family:'Pinyon Script',cursive}
#preview-lettering[data-font="Block"] .satin-letter{font-family:'Arimo',Arial,sans-serif}
#preview-lettering[data-font="Serif"] .satin-letter{font-family:'Libre Baskerville',Georgia,serif}

/* Per-event staff customer-menu editor */
.menu-editor{max-width:1150px}.menu-section{padding:25px;background:white;border:1px solid #e1e8e6;margin:20px 0}.menu-section-head{display:flex;justify-content:space-between;align-items:start;gap:15px;margin-bottom:19px}.menu-section-head h2{font:25px var(--serif);margin:0 0 8px}.menu-section-head p{margin:0;font-size:12px;color:#7b8b8e}.menu-rows{display:flex;flex-direction:column;gap:9px}.menu-edit-row{display:flex;align-items:end;gap:10px;background:#f7f9f8;padding:12px}.menu-edit-row label{display:flex;flex:1;flex-direction:column;gap:6px;font-size:10px;font-weight:700}.menu-edit-row input,.menu-edit-row select{height:40px;min-width:0;width:100%;background:white;border:1px solid #d5dfdd;padding:7px;font-size:12px}.menu-edit-row input[type=color]{padding:3px;max-width:110px}.menu-row-number{font-size:11px;color:#8b9999;padding:0 4px 13px}.menu-remove{height:39px;width:39px;background:white;border:1px solid #ccd7d7;color:#983d4b;font-size:20px;flex-shrink:0}.menu-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:27px 0}.menu-error{color:#a33746;font-size:12px;flex:1}.event-menu-link{display:block;padding:8px 0 18px 54px;font-size:11px;color:#587988;font-weight:700;border-bottom:1px solid #edf0ef}.menu-section .btn:disabled{opacity:.35}
@media(max-width:650px){.menu-edit-row{flex-wrap:wrap}.menu-edit-row label{flex:1 1 42%}.menu-section-head{flex-direction:column}.menu-actions .btn{width:100%}}

/* Optional event branding; original text remains as fallback. */
.brand-upload{display:block;max-width:100%;object-fit:contain;object-position:left center}
.brand-upload-home{height:54px;max-width:240px}.brand-upload-customer{height:53px;max-width:220px}.brand-upload-admin{height:52px;max-width:180px}
.brand-editor{max-width:1000px}.branding-panel{background:#fff;border:1px solid var(--line);padding:28px;display:grid;gap:18px;max-width:650px}.branding-preview{min-height:140px;background:var(--canvas);border:1px dashed #b4c0c3;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px}.branding-preview img{max-width:100%;max-height:116px;object-fit:contain}.branding-form{display:grid;gap:16px}.branding-panel form .btn{margin-top:10px}
.menu-icon-upload{background:#f3f7f7;border:1px solid #dbe4e3;padding:20px;display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px}.uploaded-icons{display:flex;gap:10px;flex-wrap:wrap}.uploaded-icon{border:1px solid #dce4e3;background:#fff;padding:12px;width:134px;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}.uploaded-icon img{width:75px;height:75px;object-fit:contain}.uploaded-icon strong{font-size:11px}
.personalize-modes,.icon-picker{border:0;padding:0;margin:12px 0 20px}.personalize-modes legend,.icon-picker legend{font-size:11px;font-weight:800;margin-bottom:12px}.personalize-modes label{display:inline-flex;align-items:center;gap:7px;border:1px solid #dbe3e3;padding:11px 13px;margin:0 6px 8px 0;font-size:11px;cursor:pointer}.personalize-modes label:has(input:checked){border-color:var(--ink);background:#eef4f5}.personalize-modes input,.icon-choice input{accent-color:var(--ink)}.icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:8px}.icon-choice{position:relative;display:flex;align-items:center;flex-direction:column;gap:7px;padding:10px;border:1px solid #dbe3e3;cursor:pointer;min-width:0}.icon-choice:has(input:checked){border-color:var(--ink);background:#eef4f5}.icon-choice img{width:64px;height:64px;object-fit:contain}.icon-choice strong{font-size:10px;text-align:center;overflow-wrap:anywhere}.icon-choice input{position:absolute;top:7px;left:7px}.preview-icon{height:126px;width:126px;max-width:43%;object-fit:contain;filter:drop-shadow(1px 1px 0 #d3d6d7)}.preview-lettering:has(.preview-icon:not([hidden])){gap:10px}.preview-lettering:has(.preview-icon:not([hidden])) .satin-preview-svg{width:66%}.preview-lettering:has(.preview-icon:not([hidden])) .preview-icon{max-width:40%}.preview-lettering:has(.preview-icon:not([hidden])){flex-direction:row;flex-wrap:wrap}.preview-lettering:has(.preview-icon:not([hidden])) .preview-sub{flex-basis:100%}
@media(max-width:850px){.menu-icon-upload{grid-template-columns:1fr}.brand-upload-home{max-width:200px}.brand-upload-customer{max-width:180px;height:42px}}

[hidden]{display:none!important}

/* Version 10: event price visibility, centered mobile branding and previews */
.event-price-choice{display:flex;align-items:flex-start;gap:10px;margin:12px 0 22px;padding:14px;background:#f0f4f3;color:var(--ink);cursor:pointer}
.event-price-choice input{margin-top:4px;accent-color:var(--ink);width:18px;height:18px;flex:0 0 18px}
.event-price-choice span{display:flex;flex-direction:column;gap:5px}.event-price-choice strong{font-size:12px}.event-price-choice small{font-size:11px;color:#6e8189;line-height:1.5}
.icon-picker{display:block!important}.icon-picker .icon-grid{justify-items:center}
@media(max-width:850px){
  .order-side-inner{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;width:100%;padding:18px 6% 22px}
  .order-side-inner .preview-lettering{width:min(100%,480px);min-width:0;min-height:130px;margin:0 auto;align-self:center;flex-shrink:0}
  .order-side-inner .preview-lettering .satin-preview-svg{width:100%;max-height:145px}
  .customer-header{position:relative;justify-content:center;min-height:88px;height:auto;padding:14px 7% 30px;flex-wrap:wrap;gap:7px}
  .customer-header .customer-logo{display:flex;justify-content:center;align-items:center;width:100%;text-align:center}
  .customer-header .brand-upload-customer{object-position:center;max-width:min(70vw,230px);height:auto;max-height:55px}
  .customer-header .header-right{position:static;flex:0 0 100%;justify-content:center}
  .preview-icon{margin-left:auto;margin-right:auto}
}

/* v11: tightly packed horizontal satin-thread highlights and relief */
.preview-lettering .satin-base{filter:drop-shadow(0 -1px .4px rgba(255,255,255,.8)) drop-shadow(1px 3px 1.4px rgba(14,30,38,.38));stroke-width:2.5}
.preview-lettering .satin-texture{opacity:1;filter:drop-shadow(0 .35px .15px rgba(255,255,255,.22))}
.marketing-consent{margin-top:10px}

/* v12: customer order page refinements */
.customer-page .brand-upload-customer{height:63.6px;max-width:264px}
.customer-page .order-form .field>.required-marker{display:inline;color:#b57a70;margin-left:3px}
.customer-page .order-form .field:has(>.required-marker){display:block}
.customer-page .order-form .field:has(>.required-marker)>input{display:block;margin-top:8px}
@media(max-width:850px){.customer-page .customer-header .brand-upload-customer{max-width:min(84vw,276px);max-height:66px;height:auto}}

/* v13: tracking page only — 30% larger uploaded logo */
.tracking-page .brand-upload-customer{height:68.9px;max-width:286px}
@media(max-width:850px){.tracking-page .customer-header .brand-upload-customer{height:auto;max-height:71.5px;max-width:min(91vw,299px)}}

/* v14: full-width preview directly below the application selector on mobile */
@media(max-width:850px){
  #order-form > .order-side{grid-row:auto;margin:0 0 24px;width:100%;border:1px solid #d6e0e1}
  #order-form > .order-side .order-side-inner{padding:22px 16px}
  #order-form > .order-side .preview-lettering{width:100%;max-width:480px}
}

/* Version 15: event setup and editing live together on the Events screen. */
.event-settings-edit{padding:12px 0;border-bottom:1px solid #e9eeec}
.event-settings-edit summary{cursor:pointer;font-size:11px;font-weight:700;color:#526e7b}
.event-settings-edit form{padding:16px 0 8px}
.event-settings-edit .field{display:block;margin-bottom:12px}

/* v16: live-queue ordering control */
.queue-ordering-form{margin:0;display:flex;align-items:center}
.queue-ordering-control{display:inline-flex;align-items:center;gap:9px;padding:10px 13px;border:1px solid #cbd9d9;background:#f5f8f7;color:var(--ink);font-size:11px;font-weight:750;cursor:pointer;white-space:nowrap;min-height:40px}
.queue-ordering-control input{width:17px;height:17px;accent-color:var(--ink);cursor:pointer}
@media(max-width:600px){.queue-ordering-control{white-space:normal}}

/* v17 tracking-page contact links */
.tracker-contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 22px;margin:26px 0 10px;padding:18px 10px;border-top:1px solid #dfe7e7;border-bottom:1px solid #dfe7e7}
.tracker-contact-links a{color:#273842;font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.02em}
.tracker-contact-links a:hover,.tracker-contact-links a:focus-visible{text-decoration:underline;text-underline-offset:4px}

/* v19: display event title between brand and ordering status on mobile */
@media (max-width:850px){
  .customer-page .customer-header{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding-bottom:20px;text-align:center}
  .customer-page .customer-header .customer-logo{order:1}
  .customer-page .customer-header .header-event{display:block;order:2;position:static;font-size:12px;font-weight:700;letter-spacing:.09em;line-height:1.45;text-transform:none;color:#273842;max-width:95%;overflow-wrap:anywhere}
  .customer-page .customer-header .header-right{order:3;position:static;flex:auto;width:auto;margin:0}
}
