.v2{background:#f5f5f3;color:#242522;--yellow:#ffdc20;--muted:#81827d}.v2 .sidebar{width:254px;border-radius:0;background:#fcfcfa;box-shadow:none;border-right:1px solid #e6e7e1;overflow-y:auto}.v2 .brand{padding:32px 26px 22px;gap:12px}.v2 .brand strong{font-size:var(--fs-head);line-height:19px}.v2 .brand img{width:41px}.v2 nav{padding:0 12px}.v2 nav a{padding:12px 14px;min-height:45px;font-size:var(--fs-base);gap:12px;border-radius:9px;margin:3px 0}.v2 nav a.active{background:#fff2a4}.v2 nav a:hover{background:#efefea}.v2 nav a.active:hover{background:#ffef90}.v2 nav img{height:20px;width:20px;opacity:.8}.v2 nav a>span{flex:1}.v2 nav small{font-size:var(--fs-caption);color:#73746e;background:#e9e9e3;min-width:22px;text-align:center;padding:3px 5px;border-radius:5px}.v2 nav small.soon{background:transparent;color:#999b92;font-size:var(--fs-micro)}.nav-caption{font-size:var(--fs-micro);letter-spacing:1.4px;color:#92948c;margin:26px 14px 10px}.v2 .sidebar-bottom{padding:25px 22px 18px}.v2 .create-button{font-size:var(--fs-base);border-radius:10px;background:#eee;gap:5px;height:46px}.v2 .account{font-size:var(--fs-body);padding:20px 0 0;gap:9px}.v2 .account small{font-size:var(--fs-micro);padding:6px 8px;color:#76796e;background:#eeeeea}.v2 main{margin-left:254px;padding:48px 44px 60px;overflow:visible}.v2 .page{max-width:1460px;padding:0;margin:0 auto}.v2 h1{font-size:var(--fs-hero);letter-spacing:-1.2px;margin-bottom:9px}.v2 h2{font-size:var(--fs-head)}.v2 .eyebrow{font-size:var(--fs-micro);letter-spacing:1.3px;color:#888a82;margin-bottom:23px}.v2 .page-heading{margin-bottom:30px;align-items:center}.v2 .page-heading p{font-size:var(--fs-base);margin-bottom:0}.v2 .primary,.v2 .secondary{font-size:var(--fs-body);border-radius:9px;padding:13px 17px;white-space:nowrap}.v2 .primary:disabled{color:#777;background:#e8e8e2;opacity:1}.heading-count{font-size:var(--fs-title);font-weight:400;color:#96988d;vertical-align:middle;margin-left:6px}.orders-toolbar{display:flex;gap:16px;align-items:center;margin-bottom:23px}.orders-toolbar input{margin:0!important;max-width:420px;background:#fff!important;border:1px solid #e4e5de!important;font-size:var(--fs-body);border-radius:9px!important}.filter-attention{margin-left:auto;padding:12px 14px;border-radius:9px;background:transparent;border:1px solid #ddd;white-space:nowrap;font-size:var(--fs-small)}.filter-attention b{margin-left:9px;font-size:var(--fs-small)}.filter-attention.active{background:#fff1bd;border-color:#d5b74c}.filter-tabs{display:flex;gap:7px;flex-wrap:wrap}.filter-tabs button{font-size:var(--fs-small);padding:10px 12px;border-radius:8px;background:transparent;color:#77796e}.filter-tabs button small{font-size:var(--fs-micro);margin-left:6px;opacity:.75}.filter-tabs button.active{background:#272922;color:#fff}.results-caption{font-size:var(--fs-caption);color:#929489;margin:24px 0 12px}.orders-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.orders-grid>.empty-state{grid-column:1/-1}.visual-order{border:1px solid #e4e5df;background:#fff;border-radius:17px;overflow:hidden;transition:border-color .15s,transform .15s}.visual-order:hover{border-color:#c9cbbf;transform:translateY(-2px)}.cover{position:relative;display:block;height:210px;background:#e7e8df;overflow:hidden}.cover>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 30%;transition:transform .25s}.visual-order:hover .cover>img{transform:scale(1.025)}.cover-placeholder{height:100%;padding:22px 24px;background:#e9ebdc;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.cover-placeholder>span{font-size:var(--fs-micro);letter-spacing:2px;color:#858b70}.cover-placeholder strong{font-size:56px;line-height:1.2;letter-spacing:-3px;font-weight:500;color:#424b2e;margin-top:12px}.cover-placeholder small{font-size:var(--fs-body);color:#72795f;margin-top:5px}.status-badge{display:inline-block;font-size:var(--fs-caption);line-height:1.3;padding:7px 10px;border-radius:7px;background:#f0f0eb;color:#686b60}.cover .status-badge{position:absolute;left:14px;bottom:14px}.status-badge.working{background:#fff3b3;color:#74601c}.status-badge.attention{background:#fff0e1;color:#97571c}.status-badge.ready{background:#e9f2df;color:#526739}.card-body{padding:20px 20px 13px}.card-body h2{font-size:var(--fs-title);letter-spacing:-.5px;margin:0 0 8px;line-height:1.25}.card-meta{color:#898b82;font-size:var(--fs-small);display:flex;gap:7px;margin-bottom:21px;flex-wrap:wrap}.card-progress{font-size:var(--fs-small);color:#75786d;min-height:41px}.card-progress>div{display:flex;justify-content:space-between;gap:10px;margin-bottom:7px}.card-progress b{font-size:var(--fs-caption);font-weight:400}.v2 progress{display:block;appearance:none;width:100%;height:4px;border:0;border-radius:8px;overflow:hidden;background:#eceee5;accent-color:#b4bd87}.v2 progress::-webkit-progress-bar{background:#eceee5}.v2 progress::-webkit-progress-value{background:#b7c385;border-radius:8px}.card-footer{display:flex;align-items:center;gap:8px;border-top:1px solid #efefeb;padding-top:10px}.card-action{font-size:var(--fs-small);font-weight:600;flex:1;display:flex;justify-content:space-between;gap:6px;padding:10px 0;align-items:center}.card-action span{font-size:var(--fs-title);color:#858879;font-weight:400}.card-menu{width:28px;height:31px;background:#f3f4ef;border-radius:6px;font-size:var(--fs-title)}.attention-text{color:#a36a30}.overview{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0 45px}.overview>a,.overview>button{display:flex;flex-direction:column;text-align:left;padding:25px;background:#eaece0;border-radius:13px;gap:14px}.overview strong{font-size:var(--fs-hero);font-weight:500;letter-spacing:-1px}.overview span{font-size:var(--fs-body);color:#6f745f}.overview>button{background:#ffefb1}.v2 .flow-track{display:flex;gap:24px;flex-wrap:wrap;padding:18px 0;border-top:1px solid #dedfd6;border-bottom:1px solid #dedfd6;color:#9b9e92;font-size:var(--fs-small);margin-bottom:25px}.flow-track b{font-weight:500;color:#353b24}.flow-track b span{margin-left:7px}.workspace-tabs{display:flex;gap:28px;border-bottom:1px solid #ddd;margin:30px 0 24px;overflow:auto}.workspace-tabs a{font-size:var(--fs-base);padding:0 0 14px;white-space:nowrap;color:#888c80;border-bottom:2px solid transparent}.workspace-tabs a.active{color:#252a1c;border-bottom-color:#a3ae78}.workspace-tabs small{padding-left:6px;font-size:var(--fs-caption)}.v2 .panel{box-shadow:none;border:1px solid #e1e3da;border-radius:12px;padding:16px}.v2 .dropzone{display:flex;flex-direction:column;align-items:center;gap:10px;padding:48px 20px;background:#fafaf8;border:1.5px dashed #dcddd7;border-radius:14px;color:#8a8b85}.v2 .dropzone>svg{color:#a3a49e;margin-bottom:4px}.v2 .dropzone h3{margin:0;font-size:var(--fs-title);color:#242522}.v2 .dropzone .drop-links{margin:0;font-size:var(--fs-base);color:#8a8b85}.v2 .dropzone.drag{background:#fff;border-color:#242522}.v2 .dropzone.drag>svg{color:#242522}.v2 .dropzone small{display:block;font-size:var(--fs-small);color:#a3a49e;margin:0}.compact .dropzone{display:flex;align-items:center;gap:18px;padding:18px 20px;text-align:left}.compact .dropzone>img{width:27px;height:27px;margin:0}.compact .dropzone>div{flex:1}.compact .dropzone h3{font-size:var(--fs-base);margin-bottom:5px}.compact .dropzone p{font-size:var(--fs-small);margin-bottom:6px}.compact .dropzone small{margin:0}.v2 .upload-status:empty{margin:0}.v2 .section-head h2{font-size:var(--fs-title)}.photo-actions{background:#fff;border:1px solid #e3e5dc;border-radius:10px;padding:10px;gap:7px;position:sticky;top:10px;z-index:2}.photo-actions button{font-size:var(--fs-caption);padding:9px}.photo-actions span{font-size:var(--fs-small)}.danger-button{background:#fcf0ed;color:#a14331;border-radius:8px;padding:10px 14px;font-size:var(--fs-body)}.danger-solid{background:#ac3f31;color:white;border-radius:9px;padding:12px 17px}.v2 .photo-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:15px}.v2 .photo-tile{background:#fff;margin:0;border:1px solid #e0e3d7;border-radius:10px}.v2 .photo-tile img{height:205px}.v2 .photo-tile small.photo-ready{color:#748360}.future-state{padding:44px;background:#fff;border:1px solid #e4e5de;border-radius:15px}.future-state h2{font-size:var(--fs-head);margin:22px 0 14px}.future-state>p{font-size:var(--fs-base);color:#818574;line-height:1.8;max-width:600px;margin-bottom:28px}.delivery-settings{border-top:1px solid #eee;border-bottom:1px solid #eee;margin-bottom:24px;padding:5px 0 12px}.delivery-settings label{font-size:var(--fs-base);color:#8c8f83}.menu-options{display:grid;gap:12px;margin-top:24px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px}.v2 #action-content>.muted{margin-top:20px;font-size:var(--fs-base)}.v2 .model-note{color:#95998c}.v2 .empty-state{grid-column:1/-1;padding:50px 24px;background:#f9faf6}.v2 .photo-filters{margin-left:auto}.v2 .text-button{font-size:var(--fs-small)}.v2 nav a:focus-visible,.v2 button:focus-visible,.v2 a:focus-visible{outline-offset:2px}.v2 .photo-actions button:disabled{opacity:.45}
@media(min-width:1650px){.v2 main{padding-left:65px;padding-right:65px}.cover{height:260px}.card-body{padding:24px}.card-body h2{font-size:var(--fs-head)}}
@media(max-width:1200px){.v2 .sidebar{width:230px}.v2 main{margin-left:230px;padding:36px 26px}.orders-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2 h1{font-size:var(--fs-display)}.compact .dropzone{flex-wrap:wrap}.filter-tabs button{padding:9px}.v2 .flow-track{gap:16px}}
@media(max-width:760px){.v2 .sidebar{position:relative;width:100%;overflow:visible;border:0;border-bottom:1px solid #ddd}.v2 .brand{padding:19px 20px}.v2 .brand strong{font-size:var(--fs-title);line-height:17px}.v2 .brand img{width:34px;height:auto}.v2 .sidebar nav{display:flex;overflow-x:auto;gap:5px;padding:0 12px 10px;border:0}.v2 nav a{width:auto;min-width:max-content;padding:10px;min-height:40px;font-size:var(--fs-small);margin:0;flex:0;gap:7px}.v2 nav img{width:16px;height:16px}.nav-caption{display:none}.v2 .sidebar-bottom{display:none}.v2 main{margin:0;padding:26px 18px 40px}.v2 .page-heading{gap:12px;margin-bottom:24px;align-items:flex-start}.v2 h1{font-size:var(--fs-display)}.v2 .page-heading p{font-size:var(--fs-small);line-height:1.5}.v2 .page-heading>.primary{font-size:var(--fs-caption);padding:12px}.orders-toolbar{flex-wrap:wrap;gap:12px}.orders-toolbar input{max-width:none}.filter-attention{margin-left:0}.orders-grid{gap:16px}.cover{height:180px}.card-body{padding:15px}.card-body h2{font-size:var(--fs-lead)}.card-meta{font-size:var(--fs-caption);margin-bottom:15px}.card-progress{font-size:var(--fs-caption)}.card-action{font-size:var(--fs-caption)}.v2 .flow-track{font-size:var(--fs-micro);gap:12px}.workspace-tabs{gap:22px}.workspace-tabs a{font-size:var(--fs-small)}.compact .dropzone{padding:14px}.compact .dropzone>img{display:none}.photo-actions{position:static}.v2 .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.v2 .photo-tile img{height:160px}.future-state{padding:25px}.overview{gap:8px}.overview>a,.overview>button{padding:16px 12px}.overview strong{font-size:var(--fs-display)}.overview span{font-size:var(--fs-caption)}.v2 .eyebrow{margin-bottom:17px}}
@media(max-width:470px){.orders-grid{grid-template-columns:1fr}.cover{height:225px}.card-body{padding:20px}.card-body h2{font-size:var(--fs-head)}.v2 .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v2 .photo-tile img{height:190px}.v2 .page-heading{flex-wrap:wrap}.workspace-tabs{gap:16px}}
@media(prefers-reduced-motion:reduce){.visual-order,.cover>img{transition:none}.visual-order:hover{transform:none}}
.filter-tabs{flex-wrap:wrap}
.v2 .photo-tile .match-target{display:flex;align-items:center;gap:8px;padding:8px;border-top:1px solid #e4e5df;background:#fffbe9;min-height:64px}.v2 .photo-tile .match-target>img{width:42px;height:54px;object-fit:cover;border-radius:5px;flex-shrink:0}.match-target span{min-width:0}.v2 .photo-tile .match-target small{padding:0;font-size:var(--fs-micro);color:#777}.match-target strong{display:block;font-size:var(--fs-small);overflow-wrap:anywhere}.match-target.unmatched{font-size:var(--fs-caption);color:#777;background:#f3f3f0}.v2 .photo-actions{position:sticky;top:0;z-index:3;background:#fff;padding:12px;border:1px solid #e7e7e2;border-radius:10px}.confirmation-help{margin:12px 0}.v2 .selection-bar .primary{background:var(--yellow);font-weight:600}.v2 .selection-bar .primary:disabled{opacity:.5}

.shoot-section{border:1px solid var(--border,#deded6);border-radius:14px;margin-bottom:12px;overflow:hidden;background:#fff}
.shoot-heading{width:100%;display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border:0;padding:18px 20px;cursor:pointer;flex-wrap:wrap}
.shoot-heading strong{font-size:var(--fs-lead)}.shoot-heading .muted{font-size:var(--fs-body)}.shoot-chevron{width:14px;font-size:var(--fs-head)}.shoot-status{margin-left:auto;color:#82702b}
.shoot-section.expanded{background:transparent}.shoot-section.expanded>.shoot-heading{border-bottom:1px solid #deded6}.shoot-section>div:not([hidden]){padding:20px}.shoot-section .upload-panel{margin-top:0}
#shoot-form{display:grid;gap:18px}#shoot-form .dialog-heading{margin-bottom:4px}#new-shoot-fields{display:grid;gap:18px}#new-shoot-fields[hidden]{display:none}#shoot-form label:not(.shoot-tile,.shoot-pick),.shoot-field{display:grid;gap:8px;margin:0;font-size:var(--fs-base);font-weight:500;min-width:0}.shoot-field-head{display:flex;align-items:center;gap:7px}.shoot-field-head .help-dot{display:inline-grid;place-items:center;width:18px;height:18px;font-size:var(--fs-caption)}#shoot-form input:not([type=file]),#shoot-form select{margin:0;min-height:46px}#shoot-form select{width:100%;padding:12px 38px 12px 14px;border:1px solid transparent;border-radius:11px;background:#f4f5f6 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2381827d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m2 4 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 14px center;appearance:none;-webkit-appearance:none;font:inherit;cursor:pointer}.shoot-row{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px}.shoot-row[hidden]{display:none}.shoot-drop{display:flex;flex-direction:column;align-items:center;gap:10px;padding:30px 18px;border:1.5px dashed #dcddd7;border-radius:14px;background:#fafaf8;text-align:center;color:#8a8b85;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.shoot-drop svg{color:#a3a49e}.shoot-drop-text{margin:0;font-size:var(--fs-base);line-height:1.4}.v2 :is(.shoot-drop-text,.drop-links) button{display:inline;padding:0;margin:0;border:0;background:none;font:inherit;color:#4a4b46;text-decoration:underline dashed;text-decoration-color:#a3a49e;text-decoration-thickness:1px;text-underline-offset:4px;cursor:pointer;transition:color .15s,text-decoration-color .15s}.v2 :is(.shoot-drop-text,.drop-links) button:hover,.v2 :is(.shoot-drop-text,.drop-links) button:focus-visible{color:#242522;text-decoration-style:solid;text-decoration-color:currentColor}#shoot-drop-count{font-size:var(--fs-body);font-weight:600;color:#242522}#shoot-drop-count:empty{display:none}.shoot-drop:hover,.shoot-drop.dragging{border-color:#b9bab4;background:#fff}.shoot-drop.dragging{border-color:#242522;color:#242522}.shoot-drop.dragging svg{color:#242522}.shoot-drop.filled{border-style:solid;border-color:#e3e3dd;background:#fff}.shoot-field-head .help-dot{position:relative;cursor:help}.shoot-field-head .help-dot::after{content:attr(data-help);position:absolute;z-index:5;left:-8px;top:calc(100% + 8px);width:260px;padding:10px 12px;border-radius:10px;background:#242522;color:#f4f5f6;font-size:var(--fs-small);font-weight:400;line-height:1.45;text-align:left;box-shadow:0 10px 28px #0003;opacity:0;visibility:hidden;transform:translateY(-2px);transition:opacity .15s,transform .15s,visibility .15s;pointer-events:none}.shoot-field-head .help-dot:hover::after,.shoot-field-head .help-dot:focus-visible::after{opacity:1;visibility:visible;transform:none}#shoot-error:empty{display:none}#shoot-form .dialog-actions{margin-top:4px}@media(max-width:520px){.shoot-row{grid-template-columns:1fr}}
@media(max-width:650px){.shoot-section>div:not([hidden]){padding:12px}.shoot-heading{padding:14px;gap:8px}.shoot-heading .muted{width:calc(100% - 24px);margin-left:22px}.shoot-status{margin-left:22px}.shoot-section .section-head{flex-wrap:wrap}}
.shoot-section.expanded{border-color:#b7b38b;background:#faf9ee}.shoot-section.expanded>.shoot-heading{border-bottom:0}.shoot-content:not([hidden]){margin-top:22px}.shoot-content .upload-panel{margin-top:0}
.v2 .page.account-settings{width:100%;max-width:800px;margin:0 auto;padding:0 0 60px}
.settings-intro{background:#202020;color:#fff;border-radius:16px;padding:26px 30px 28px;margin-bottom:20px;box-shadow:0 8px 22px #22222213}
.settings-intro-label{display:block;font-size:var(--fs-body);color:#d6d6d6;margin-bottom:5px}
.v2 .settings-intro h1{font-size:var(--fs-display);letter-spacing:-.7px;margin:0 0 11px}
.settings-intro p{font-size:var(--fs-body);line-height:1.5;color:#d1d1d1;margin:0;max-width:440px}
.settings-toggle{appearance:none;position:relative;flex:none;width:38px;height:22px;margin:0;border:0;border-radius:20px;background:#d8d8d6;transition:background .15s}
.settings-toggle:before{content:"";position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .15s}
.settings-toggle:checked{background:#222}
.settings-toggle:checked:before{transform:translateX(16px)}
@media(max-width:760px){.v2 .account-settings{padding:0 0 30px}.settings-intro{padding:23px 22px}}
@media(max-width:760px){.v2 .sidebar-bottom{display:block;padding:0 18px 12px}.v2 .sidebar-bottom .create-button{display:none}.v2 .sidebar-bottom .account{display:flex;width:max-content;padding:9px 12px;gap:8px}.v2 .sidebar-bottom .account small{margin-left:4px}}
.forms-panel{display:grid;gap:18px}
.forms-block{background:#fff;border:1px solid #e4e5de;border-radius:14px;padding:22px}
.forms-block-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.v2 .forms-block h3{font-size:var(--fs-lead);margin:0}
.access-rows{display:grid;gap:8px}
.copy-row{display:grid;grid-template-columns:170px minmax(0,1fr) auto;align-items:center;gap:14px;width:100%;text-align:left;padding:13px 16px;border:1px solid #e8e9e2;border-radius:10px;background:#fafaf7;cursor:pointer;transition:background .15s,border-color .15s}
.copy-row:hover{background:#fff8d6;border-color:#eadb8e}
.copy-row.copied{background:#eef5e6;border-color:#c5d9ad}
.copy-label{font-size:var(--fs-body);color:#6f7268;display:flex;flex-direction:column;gap:2px}
.copy-label small{font-size:var(--fs-caption);color:#a0a297}
.copy-value{font-size:var(--fs-base);font-weight:600;color:#242522;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.copy-row:not(:first-child) .copy-value{font-size:var(--fs-title);letter-spacing:3px}
.copy-mark{font-size:var(--fs-small);color:#8a7a2a;opacity:0;transition:opacity .15s}
.copy-row:hover .copy-mark,.copy-row:focus-visible .copy-mark,.copy-row.copied .copy-mark{opacity:1}
.copy-row.copied .copy-mark{color:#4f7a36}
.forms-note{margin:12px 0 0}
.codes-lost{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;border-radius:10px;background:#fff4e6;font-size:var(--fs-body);color:#7b5320;flex-wrap:wrap}
.codes-lost p{margin:0}
.message-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.message-card{display:flex;flex-direction:column;gap:12px;border:1px solid #e8e9e2;border-radius:12px;padding:16px;background:#fafaf7}
.message-card.editing{grid-column:1/-1;background:#fff}
.message-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.message-head strong{display:block;font-size:var(--fs-base)}
.message-head small{display:block;font-size:var(--fs-caption);color:#92948c;margin-top:3px}
.message-head .text-button{white-space:nowrap}
.message-text{flex:1;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--fs-body);line-height:1.55;color:#3a3b36;background:#fff;border:1px solid #efefea;border-radius:9px;padding:12px 14px}
.message-card textarea{width:100%;font:inherit;font-size:var(--fs-body);line-height:1.55;padding:12px;border:1px solid #dedfd6;border-radius:9px;resize:vertical;margin:0}
.message-card>.small{margin:0}
.message-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px}
.message-actions .primary.copied{background:#dcebcf}
.deal-details summary{cursor:pointer;font-size:var(--fs-lead);font-weight:600;list-style-position:inside}
.deal-details[open] summary{margin-bottom:14px}
.forms-panel{gap:16px}
.forms-block{padding:24px 28px}
.forms-block-head{align-items:center;margin-bottom:18px}
.forms-block-head h3{font-size:var(--fs-title)!important;letter-spacing:-.25px}
.forms-contact-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.forms-contact-actions .secondary,.message-actions .primary{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.forms-contact-form{display:grid;gap:10px}
.forms-contact-form-fields{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}
.forms-contact-form label{display:grid;gap:7px;font-size:var(--fs-small);color:#676a60;font-weight:600}
.forms-contact-form input{width:100%;margin:0;padding:12px 13px;border:1px solid #dedfd4;border-radius:9px;background:#fff;font:inherit;font-size:var(--fs-base);color:#292a26}
.forms-contact-error{margin:0}
.access-link{display:grid;grid-template-columns:minmax(0,1fr) 43px;gap:9px 12px;align-items:center;margin-bottom:14px}
.access-link>div:first-child{grid-column:1/-1}
.access-link>div:first-child{display:grid;gap:4px}
.access-link>div:first-child strong{font-size:var(--fs-body)}
.access-link>div:first-child small{font-size:var(--fs-caption);color:#909289}
.access-link .copy-row{grid-template-columns:minmax(0,1fr) auto;padding:13px 15px}
.access-link .copy-label{display:none}
.access-link .copy-value{font-size:var(--fs-body)}
.access-open{display:grid;place-items:center;height:43px;background:#f3f4ef;border-radius:9px;color:#34362f;text-decoration:none;font-size:var(--fs-head)}
.access-open:hover{background:#fff1ae}
.access-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.access-code{padding:16px;background:#f6f7f1;border:1px solid #e5e8da;border-radius:12px}
.access-code.private{background:#fdf9e9;border-color:#eee4ba}
.access-code-title{display:flex;align-items:center;gap:8px;font-size:var(--fs-small);font-weight:600;margin-bottom:12px;color:#58614c}
.access-code.private .access-code-title{color:#82702f}
.access-code .copy-row{grid-template-columns:minmax(0,1fr) auto;background:#fff;padding:11px 13px}
.access-code .copy-label{font-size:var(--fs-caption)}
.access-code .copy-label small{font-size:var(--fs-micro)}
.access-code .copy-value{font-size:var(--fs-head)!important;letter-spacing:3px;grid-column:1;grid-row:2}
.access-code .copy-mark{grid-column:2;grid-row:1/3;opacity:1}
.access-code .copy-row{grid-template-columns:minmax(0,1fr) 24px}
.access-code .copy-mark{font-size:0;overflow:hidden}
.access-code .copy-mark:before{content:'⧉';font-size:var(--fs-title)}
.access-code .copy-row.copied .copy-mark{font-size:0}
.access-code .copy-row.copied .copy-mark:before{content:'✓';font-size:var(--fs-lead)}
.message-card{padding:20px;background:#f9faf6;gap:14px}
.message-card.manager{background:#fffdf5;border-color:#ece6cd}
.message-head{justify-content:flex-start;align-items:center}
.message-head>div{min-width:0}
.message-head strong{font-size:var(--fs-base)}
.message-head small{font-size:var(--fs-caption)}
.message-icon{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:9px;background:#e8ebdf;color:#526244}
.manager .message-icon{background:#fff0b3;color:#786620}
.message-text{min-height:190px;padding:16px;line-height:1.65}
.message-actions{justify-content:space-between;flex-wrap:wrap}
.message-actions .primary{margin-left:auto}
.forms-secondary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.forms-secondary-grid .forms-block{min-width:0}
.forms-secondary-grid .forms-block-head{align-items:flex-start}
@media(max-width:950px){.forms-secondary-grid,.message-cards{grid-template-columns:1fr}.message-text{min-height:0}.forms-contact-body{flex-wrap:wrap}.forms-contact-actions{width:100%;justify-content:flex-start;padding-left:66px}}
@media(max-width:760px){.forms-intro{padding:22px}.forms-intro-icon{display:none}.forms-block{padding:20px}.forms-contact-body{align-items:flex-start;flex-wrap:wrap}.forms-contact-actions{width:100%;justify-content:flex-start;padding-left:66px}.access-link{grid-template-columns:minmax(0,1fr) 43px}.access-link>div:first-child{grid-column:1/-1}.forms-contact-form-fields,.access-code-grid{grid-template-columns:1fr}.forms-secondary-grid .forms-block-head small{text-align:left}}
@media(max-width:760px){.forms-block{padding:16px}.copy-row{grid-template-columns:1fr auto;gap:4px 10px}.copy-label{grid-column:1/-1}.copy-mark{opacity:1}.message-cards{grid-template-columns:1fr}}
.mvp-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.mvp-files{font-size:var(--fs-body);line-height:1.5;margin:8px 0 8px 18px}
.discard-warn{position:fixed;z-index:50;width:268px;padding:6px;border:1px solid #ecebe6;border-radius:12px;background:#fff;box-shadow:0 14px 40px #28212f24;animation:discard-in .12s ease-out}
.discard-warn p{display:grid;gap:3px;margin:0;padding:8px 10px 10px;border-bottom:1px solid #f0efea;margin-bottom:4px}
.discard-warn p strong{font-size:var(--fs-base);color:#1d1d1b}
.discard-warn p span{font-size:var(--fs-small);color:var(--muted)}
.discard-warn button{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:8px;background:none;font:inherit;font-size:var(--fs-base);color:#30302e;text-align:left;cursor:pointer}
.discard-warn button .ico{color:#9a9b95;flex:none}
.discard-warn button:hover,.discard-warn button:focus-visible{background:#f4f5f6;outline:none}
.discard-warn button.danger{color:#a14331}
.discard-warn button.danger .ico{color:#a14331}
.discard-warn button.danger:hover,.discard-warn button.danger:focus-visible{background:#fcf0ed}
@keyframes discard-in{from{opacity:0;transform:translateY(-4px)}}
/* The copy of the leaving page must not replay the entrance of its cards. */
.page-ghost *{animation:none!important}
.corrections{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;max-width:760px}.corrections li{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #efe1c7;border-radius:10px;padding:12px 14px}.corrections li>div{flex:1;min-width:0;display:grid;gap:3px}.corrections strong{font-size:var(--fs-body)}.corrections span{font-size:var(--fs-body);color:#4d5046;overflow-wrap:anywhere}.corrections small{font-size:var(--fs-caption);color:#8b8e82}.photos-link{display:flex;gap:10px}.photos-link input{flex:1;margin:0!important}
/* InDesign import */
.import-report{list-style:none;margin:14px 0 18px;padding:0;display:grid;gap:6px;max-height:50vh;overflow:auto}
.import-report li{font-size:var(--fs-body);line-height:1.45;padding:8px 11px;border-radius:9px;background:#f4f4f1;color:#4a4b46}
.import-report li.warning{background:#fff6dc;color:#6d5710}
.idml-field{position:relative;margin:18px 0 4px}
.idml-head{position:relative;display:flex;align-items:center;gap:8px;font-size:var(--fs-base);font-weight:500}
.idml-head .muted{font-weight:400;font-size:var(--fs-body)}
.help-dot{width:20px;height:20px;padding:0;border-radius:50%;border:1px solid #d9dad4;background:#fff;color:#81827d;font-size:var(--fs-small);font-weight:600;line-height:1;cursor:help}
.help-dot:hover,.help-dot:focus-visible{border-color:#242522;color:#242522}
.idml-help{position:fixed;z-index:50;pointer-events:none;overflow:auto;padding:14px 16px;border-radius:12px;background:#242522;color:#f4f5f6;font-size:var(--fs-small);font-weight:400;line-height:1.5;box-shadow:0 12px 32px #0003;opacity:0;visibility:hidden;transform:translateY(2px);transition:opacity .15s,transform .15s,visibility .15s}
.help-dot:hover+.idml-help,.help-dot:focus-visible+.idml-help{opacity:1;visibility:visible;transform:none}
.idml-help strong{display:block;font-size:var(--fs-small);color:#fff}
.idml-help ul{margin:4px 0 10px;padding-left:16px}
.idml-help li{margin:2px 0}
.idml-help p{margin:0;color:#b9bab4}
.idml-drop{position:relative;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:20px 16px;border:1.5px dashed #d9dad4;border-radius:11px;background:#f4f5f6;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}
.idml-drop[hidden]{display:none!important}
.idml-drop input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.idml-drop svg{width:24px;height:24px;color:#81827d}
.idml-drop:hover,.idml-drop.dragging,.idml-drop:focus-within{border-color:#242522;background:#fbfbf9}
.idml-drop.dragging svg{color:#242522}
.idml-fonts{flex-direction:row;padding:12px 16px}
.idml-fonts svg{width:20px;height:20px;flex:none}
.file-box{max-width:100%;font-size:var(--fs-base);font-weight:400;color:#81827d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.file-box.picked{color:#000;font-weight:500}

/* Анкеты заказа: одна карточка — ссылка, два получателя, прогресс */
.fk>*{min-width:0}
.fk-card{background:#fff;border:1px solid var(--line);border-radius:19px;box-shadow:var(--card-shadow);overflow:visible}
.fk-when{display:block;font-size:var(--fs-small);color:var(--muted);margin-bottom:3px}
.fk-top{display:flex;align-items:center;gap:12px;padding:16px 24px;border-bottom:1px solid #f0f0ec}
.fk-top .fk-when{margin:0;flex:none}
.fk-url{display:flex;align-items:center;gap:12px;flex:1;min-width:0;padding:6px 10px;margin:-6px 0;background:none;border:0;border-radius:10px;text-align:left;cursor:pointer;color:var(--ink)}
.fk-url:hover,.fk-url:focus-visible{background:#f6f6f4}
.fk-url.copied{background:#e6f2df}
.fk-url-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-base)}
.fk-url-copy{display:inline-flex;align-items:center;gap:6px;flex:none;font-size:var(--fs-small);color:var(--muted);opacity:0;transition:opacity .15s}
.fk-url:hover .fk-url-copy,.fk-url:focus-visible .fk-url-copy,.fk-url.copied .fk-url-copy{opacity:1}
.fk-url.copied .fk-url-copy{color:#3f7a3a}
.fk-reset{flex:none;white-space:nowrap}
.fk-tool{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:11px;background:#f3f3f1;color:var(--ink);font-size:var(--fs-lead);text-decoration:none}
.fk-tool:hover{background:var(--soft-yellow)}
.fk-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.fk-col{display:flex;flex-direction:column;gap:14px;padding:20px 24px;min-width:0}
.fk-col+.fk-col{border-left:1px solid #f0f0ec}
.fk-col header{display:flex;align-items:center;gap:12px}
.fk-col header>div{flex:1;min-width:0}
.fk-col header strong{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-lead)}
.fk-rtile{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#f3f3f1;color:#57555c}
.fk-acts{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.fk-bubble{position:relative;display:block;width:100%;max-height:118px;overflow:hidden;padding:14px 16px;border:1px solid #ecebe6;border-radius:16px 16px 16px 5px;background:#fafaf8;text-align:left;font:inherit;font-size:var(--fs-body);line-height:1.55;color:#4a4b46;white-space:pre-wrap;overflow-wrap:anywhere;cursor:pointer;transition:border-color .15s,background .15s}
.fk-bubble::after{content:"";position:absolute;inset:auto 0 0;height:40px;background:linear-gradient(#fafaf800,#fafaf8)}
.fk-bubble:hover,.fk-bubble:focus-visible{border-color:#d8d9d1;background:#fff}
.fk-bubble:hover::after,.fk-bubble:focus-visible::after{background:linear-gradient(#fff0,#fff)}
.fk-hint{position:absolute;right:12px;bottom:10px;z-index:1;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:#fff;border:1px solid #e3e3de;font-size:var(--fs-small);color:var(--ink);white-space:nowrap}
.fk-hint .copy-mark{opacity:1;transform:none;color:inherit;font-size:var(--fs-small)}
.fk-bubble.copied .fk-hint{background:#e6f2df;border-color:#bfdcb5;color:#3f7a3a}
.fk-meta{display:flex;align-items:center;gap:14px}
.fk-meta .fk-sent{margin-left:auto}
.fk-sent{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-small);color:#3f7a3a}
.fk-sent:empty{display:none}
.fk-pin{display:inline-flex;flex-direction:column;align-items:flex-end;gap:5px;padding:0;background:none;border:0;cursor:pointer}
.fk-pin-label{display:block;height:16px;line-height:16px;font-size:var(--fs-caption);color:var(--muted);white-space:nowrap;opacity:1;transform:none}
.fk-pin.copied .fk-pin-label{color:#3f7a3a}
.fk-digits{display:inline-flex;gap:5px}
.fk-digits i{display:grid;place-items:center;width:34px;height:42px;border-radius:9px;background:#f3f3f1;font-style:normal;font-size:var(--fs-title);font-weight:600;font-variant-numeric:tabular-nums;transition:background .15s,transform .15s}
.fk-pin:hover .fk-digits i,.fk-pin:focus-visible .fk-digits i{background:var(--soft-yellow)}
.fk-pin.copied .fk-digits i{background:#e6f2df}
.fk-col .fk-digits{gap:4px}
.fk-col .fk-digits i{width:26px;height:32px;font-size:var(--fs-lead);border-radius:7px}
.fk .info-tip{position:relative;display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#efefec;color:#8a8b85;font-size:var(--fs-micro);font-weight:600;cursor:help;outline:none}
.fk .info-tip::after{content:attr(data-tip);position:absolute;left:50%;top:calc(100% + 6px);z-index:5;width:220px;padding:8px 10px;border-radius:9px;background:#29282d;color:#fff;font-size:var(--fs-caption);font-weight:400;line-height:1.4;transform:translateX(-50%);opacity:0;visibility:hidden;transition:opacity .12s;pointer-events:none}
.fk .info-tip:hover::after,.fk .info-tip:focus::after{opacity:1;visibility:visible}
.fk-editor{display:flex;flex-direction:column;gap:10px}
.fk-editor textarea{width:100%;box-sizing:border-box;min-height:200px;font:inherit;font-size:var(--fs-base);line-height:1.55;padding:12px 14px;border:1px solid #e1e0e5;border-radius:12px;resize:vertical}
.fk-editor .muted{margin:0}
.fk-card>.codes-lost{margin:16px 24px}
.fk-empty{display:flex;align-items:center;gap:16px;padding:22px 24px}
.fk-empty>div{flex:1}
.fk-empty strong{display:block;font-size:var(--fs-lead)}
.fk-empty small{font-size:var(--fs-body);color:var(--muted)}
.fk-link-tile{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:#f3f3f1;color:#57555c}
@media(max-width:760px){.fk-cols{grid-template-columns:1fr}.fk-col+.fk-col{border-left:0;border-top:1px solid #f0f0ec}}
@media(prefers-reduced-motion:reduce){.fk *{transition:none!important}}

/* Badges on tiles and person cards. */
.pw-tile-badge{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px 0 6px;border-radius:11px;background:#fffffff2;color:#242522;font-size:var(--fs-caption);font-weight:600;box-shadow:0 1px 4px #0003}
.pw-tile-badge svg{color:#d7b400}
.pw-tile-badge{top:10px;right:10px}
/* Native dialog transitions preserve close(), Escape and focus restoration. */
.v2 dialog{opacity:0;transform:translateY(6px);transition:opacity .18s ease-out,transform .18s ease-out,display .18s allow-discrete,overlay .18s allow-discrete}
.v2 dialog[open]{opacity:1;transform:none}
.v2 dialog:not([open]){pointer-events:none}
.v2 dialog::backdrop{opacity:0;transition:opacity .18s ease-out,display .18s allow-discrete,overlay .18s allow-discrete}
.v2 dialog[open]::backdrop{opacity:1}
@starting-style{.v2 dialog[open]{opacity:0;transform:translateY(6px)}.v2 dialog[open]::backdrop{opacity:0}}
@media(prefers-reduced-motion:reduce){.v2 dialog,.v2 dialog::backdrop{transition:none}}
.pw-quote-field{position:relative}
.pw-quote-field .pw-quote-mark{position:absolute;left:12px;top:30px;color:#c9b25a;pointer-events:none}
.teacher-review .pw-quote-field textarea{padding:12px 14px 12px 54px;background:#f6f6f4;font-style:italic}
/* «Загрузить фотографии»: new vs existing shoot, type as labelled icon tiles. */
.v2 .shoot-mode button{display:flex;flex:1;align-items:center;justify-content:center;gap:6px}
.shoot-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
#shoot-form :is(.shoot-tile,.shoot-pick){margin:0}
.shoot-tile{position:relative;display:grid;justify-items:center;gap:6px;padding:14px 8px 12px;border:1.5px solid transparent;border-radius:12px;background:#f4f5f6;color:#81827d;font-size:var(--fs-body);font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.shoot-tile:hover{background:#eeefef;color:#242522}
.shoot-tile input,.shoot-pick input{position:absolute;opacity:0;pointer-events:none}
.shoot-tile:has(:checked){border-color:#242522;background:#fff;color:#242522}
.shoot-tile:has(:focus-visible),.shoot-pick:has(:focus-visible){outline:2px solid #242522;outline-offset:2px}
.shoot-picks{display:grid;gap:6px;max-height:232px;overflow:auto}.shoot-picks[hidden]{display:none}
.shoot-pick{position:relative;display:flex;align-items:center;gap:12px;padding:6px 12px 6px 6px;border:1.5px solid transparent;border-radius:12px;background:#f4f5f6;cursor:pointer;transition:background .15s,border-color .15s}
.shoot-pick:hover{background:#eeefef}.shoot-pick:has(:checked){border-color:#242522;background:#fff}
.shoot-pick-cover{display:grid;flex:none;place-items:center;width:44px;height:44px;border-radius:8px;overflow:hidden;background:#e4e5e1;color:#81827d}
.shoot-pick-cover img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.shoot-pick-text{display:grid;gap:2px;min-width:0}.shoot-pick-text strong{font-size:var(--fs-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shoot-pick-text small{font-size:var(--fs-small);color:var(--muted)}
#shoot-form input[type=date]{padding:0 14px;border:1px solid transparent;border-radius:11px;background:#f4f5f6;font:inherit;color:#242522}
#shoot-form input[type=date]::-webkit-calendar-picker-indicator{opacity:.45;cursor:pointer}
#shoot-form input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:.9}
/* Mode switch as tall as the inputs, sliding thumb; both panes share one cell so the window keeps its height. */
#shoot-form .shoot-mode{position:relative;display:grid;grid-template-columns:1fr 1fr;padding:4px;border-radius:12px;background:#f4f5f6}
#shoot-form .shoot-mode::before{content:"";position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:9px;background:#fff;box-shadow:0 1px 3px #22222214;transition:transform .28s cubic-bezier(.3,.7,.2,1)}
#shoot-form[data-mode=existing] .shoot-mode::before{transform:translateX(100%)}
.v2 #shoot-form .shoot-mode button{position:relative;z-index:1;min-height:38px;padding:0 12px;background:none;box-shadow:none;font-size:var(--fs-base);font-weight:600;color:#81827d;transition:color .2s}
.v2 #shoot-form .shoot-mode button[aria-pressed=true]{color:#242522}
.shoot-panes{display:grid}.shoot-panes>.shoot-pane{grid-area:1/1;transition:opacity .22s,transform .28s cubic-bezier(.3,.7,.2,1),visibility .28s}
.shoot-panes>.shoot-pane[inert]{opacity:0;visibility:hidden;pointer-events:none}
#new-shoot-fields[inert]{transform:translateX(-14px)}#existing-shoots[inert]{transform:translateX(14px)}
.shoot-picks{align-content:start}
.shoot-row{transition:opacity .2s,visibility .2s}.shoot-row.off{opacity:0;visibility:hidden}
/* Drop zone: outline only, the cat looking through photos. */
#shoot-form .shoot-drop{gap:4px;padding:14px 18px 20px;background:none}
#shoot-form .shoot-drop picture{display:block}
#shoot-form .shoot-drop .stage-empty-mascot{width:124px;height:auto;margin:0 auto 2px}
#shoot-form .shoot-drop:hover,#shoot-form .shoot-drop.filled{background:none}
#shoot-form .shoot-drop.dragging{background:#fafaf8}
@media(prefers-reduced-motion:reduce){#shoot-form .shoot-mode::before,.shoot-panes>.shoot-pane,.shoot-row{transition:none}}

/* Every secondary button answers the pointer, whatever its background; the head plate keeps its own hover. */
.v2 .secondary{transition:filter .15s,background .15s}.v2 .secondary:not(:disabled):not(.step-actions>.secondary):hover{filter:brightness(.95)}



@media(max-width:760px), (pointer:coarse) and (max-height:760px){.v2 [data-v2="new-design"]{display:none}}


.settings-intro.wallet{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;padding:28px 30px;background:radial-gradient(120% 90% at 0% 0%,#3a3a3a 0%,#262626 45%,#1b1b1b 100%);border:1px solid #ffffff12}
.wallet-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.wallet .settings-intro-label{margin:0}
.wallet-demo{padding:3px 9px;border-radius:20px;background:#ffffff14;font-size:var(--fs-micro);color:#cfcfcf;letter-spacing:.2px}
.wallet-caption{display:block;font-size:var(--fs-small);color:#a9a9a9}
.v2 .wallet h1{margin:2px 0 4px;font-variant-numeric:tabular-nums}
.settings-intro .wallet-note{font-size:var(--fs-small);color:#a9a9a9}
.wallet-feed{min-width:0;padding-left:20px;border-left:1px solid #ffffff10}
.v2 .wallet-feed h2{margin:0 0 14px;font-size:var(--fs-small);font-weight:500;color:#a9a9a9}
.wallet-feed ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-height:240px;overflow:auto;scrollbar-width:thin}
.wallet-feed li{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;border-radius:12px 12px 12px 4px;background:#ffffff0c;font-size:var(--fs-small);color:#e2e2e2}
.wallet-msg{min-width:0;overflow-wrap:anywhere}
.wallet-msg small{display:block;margin-top:3px;font-size:var(--fs-micro);color:#8f8f8f}
.wallet-feed strong{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums;color:#bdbdbd}
.wallet-feed li.in strong{color:#9fe0b0}
.wallet-feed li.out strong{color:#fff}
.wallet-feed .wallet-empty{color:#8f8f8f}

.products{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr;gap:14px;margin:28px 0 20px}
.v2 .products>h2{grid-column:1/-1;margin:0 0 -4px;font-size:var(--fs-head);letter-spacing:-.4px}
.product{position:relative;overflow:hidden;min-height:220px;padding:24px 24px 22px;border-radius:16px;border:1px solid #0000000a}
.product-layout{background:linear-gradient(150deg,#fff9dc 0%,#fff1b0 100%)}
.product-archive{background:linear-gradient(150deg,#f1f7ea 0%,#dcebcc 100%)}
.v2 .product h3{position:relative;margin:0 0 6px;max-width:58%;font-size:var(--fs-title);letter-spacing:-.3px}
.product>p{position:relative;margin:0;max-width:56%;font-size:var(--fs-small);line-height:1.45;color:#5f6058}
.product-price{position:relative;margin:18px 0 0}
.product-price strong{font-size:var(--fs-display);font-weight:600;letter-spacing:-.6px;font-variant-numeric:tabular-nums}
.product-more{position:relative;display:flex;align-items:center;gap:6px;margin:10px 0 0;padding:0;background:none;border:0;font:inherit;font-size:var(--fs-small);color:#242522;cursor:pointer}
.product-more svg{color:#7d7e76;transition:transform .2s}
.product-more[aria-expanded="true"] svg{transform:rotate(180deg)}
.product-earn{gap:8px;margin-top:12px;padding:8px 14px 8px 10px;border-radius:30px;background:#fff;box-shadow:0 4px 12px #3f7a4c22;font-weight:600;transition:transform .15s,box-shadow .15s}
.product-earn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3f7a4c33}
.earn-emoji{font-size:20px;line-height:1;display:inline-block;animation:earn-wiggle 2.4s ease-in-out infinite}
.product-earn[aria-expanded="true"] .earn-emoji{animation:none}
@keyframes earn-wiggle{0%,70%,100%{transform:none}78%{transform:rotate(-14deg) scale(1.1)}86%{transform:rotate(12deg) scale(1.1)}}
.product-extra{position:relative;display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}
.product-extra>div{overflow:hidden}
.product-more[aria-expanded="true"]+.product-extra{grid-template-rows:1fr}
.product-tiers{list-style:none;margin:12px 0 0;padding:0}
.product-tiers li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #0000000f;font-size:var(--fs-small)}
.product-tiers b{font-weight:600;font-variant-numeric:tabular-nums}
.product-fine{margin:6px 0 0;font-size:var(--fs-caption);color:#6f7068}
.product-range{display:grid;gap:6px;margin:14px 0 0;font-size:var(--fs-small);color:#81827d}
.product-range b{color:#242522;font-weight:600}
.v2 .product-range input{appearance:none;-webkit-appearance:none;display:block;width:100%;height:4px;min-height:0;padding:0;border:0;box-shadow:none;margin:8px 0;border-radius:4px;background:linear-gradient(90deg,#242522 var(--fill,0%),#ffffffaa var(--fill,0%));outline:none}
.product-range input::-webkit-slider-thumb{appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #242522;cursor:pointer}
.product-range input::-moz-range-thumb{width:14px;height:14px;border:2px solid #242522;border-radius:50%;background:#fff;cursor:pointer}
.product-pick{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:6px 0 12px;font-size:var(--fs-small);color:#81827d}
.product-chips{display:flex;gap:6px}
.product-chips button{padding:6px 11px;border:1px solid #0000000f;border-radius:20px;background:#fff;color:#242522;font:inherit;font-size:var(--fs-small);font-variant-numeric:tabular-nums;cursor:pointer}
.product-chips button[aria-pressed="true"]{background:#242522;border-color:#242522;color:#fff}
.product-total{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:12px;border-top:1px solid #0000000f;font-size:var(--fs-small);color:#81827d}
.product-total small{display:block;margin-top:2px;font-size:var(--fs-micro);color:#a3a49e;font-variant-numeric:tabular-nums}
.product-total strong{font-size:var(--fs-head);font-weight:600;color:#3f7a4c;font-variant-numeric:tabular-nums;white-space:nowrap}

/* Product pictures: tiles drop into a spread / into a phone, on a 6 s loop. */
.product-art{position:absolute;top:56px;right:-30px;display:flex;align-items:center;gap:8px;width:46%;height:100px;transform:rotate(-4deg);pointer-events:none}
.art-spread{display:grid;grid-template-columns:1fr 1fr;width:100%;aspect-ratio:2/1.15;padding:6px;gap:0;background:#fff;border-radius:4px;box-shadow:0 10px 24px #2425221f}
.art-spread.small{width:auto;flex:1}
.art-page{display:grid;padding:4px;gap:4px}
.art-page:first-child{border-right:1px solid #ecece7}
.art-grid{grid-template-columns:1fr 1fr}
.product-art i{display:block;border-radius:2px;animation:art-tile 6s ease-in-out infinite;animation-delay:calc(var(--i)*.22s);opacity:0}
.product-art i:nth-of-type(4n+1){background:linear-gradient(135deg,#f3d08c,#e2a468)}
.product-art i:nth-of-type(4n+2){background:linear-gradient(135deg,#b4cdea,#7397c4)}
.product-art i:nth-of-type(4n+3){background:linear-gradient(135deg,#cfe0a8,#8fb17a)}
.product-art i:nth-of-type(4n){background:linear-gradient(135deg,#ecc0cc,#c98aa0)}
.art-layout .t-big{animation-delay:0s}
.art-layout .t{animation-delay:calc(.35s + var(--i)*.25s)}
.art-phone{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:3px;flex:none;width:42px;height:78px;padding:10px 4px;border:2px solid #2b2b2b;border-radius:9px;background:#fff}
.art-phone i{height:15px;animation-name:art-upload}
.art-arrow{width:22px;height:2px;background:#c9c9c3;position:relative}
.art-arrow::after{content:"";position:absolute;right:-1px;top:-3px;border:4px solid transparent;border-left:5px solid #c9c9c3;border-right:0}
.art-archive .l{animation-delay:calc(1.8s + var(--i)*.12s)}
@keyframes art-tile{0%{opacity:0;transform:translateY(-8px) scale(.9)}10%,82%{opacity:1;transform:none}92%,100%{opacity:0;transform:none}}
@keyframes art-upload{0%{opacity:0;transform:translateY(14px)}10%,82%{opacity:1;transform:none}92%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){.product-art i{animation:none;opacity:1}.earn-emoji{animation:none}}
@media(max-width:760px){.settings-intro.wallet{grid-template-columns:1fr;padding:23px 20px;gap:22px}.wallet-feed{padding:20px 0 0;border-left:0;border-top:1px solid #ffffff10}.products{grid-template-columns:1fr}.product-art{width:44%;top:96px;right:-18px}}

/* Settings strips: a tap swaps the strip's text for its fields, in place. */
.sgroup{margin:34px 0 0}
.v2 .sgroup>h2{margin:0 0 12px;font-size:var(--fs-head);letter-spacing:-.4px}
.srow{margin:0 0 6px;background:#fff;border:1px solid #0000000a;border-radius:14px}
.srow{transition:background .25s}
.srow.open{background:#efefec}
@keyframes srow-in{from{opacity:0;transform:translateX(-24px);clip-path:inset(-8px 100% -8px -8px)}to{opacity:1;transform:none;clip-path:inset(-8px -8px -8px -8px)}}
/* backwards, not both: the mask must not stay after the slide, or it crops rings and swatches */
.srow.open .srow-field{animation:srow-in .32s cubic-bezier(.2,.8,.2,1) backwards}
.srow :focus-visible{outline:none}
.srow button:focus-visible{outline:2px solid #24252255;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.srow.open .srow-field{animation:none}}
.srow-head,.srow-edit{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;margin:0;padding:14px 18px}
.srow-head{background:none;border-radius:14px;text-align:left;font-weight:400;cursor:pointer}
.srow-head[hidden],.srow-edit[hidden]{display:none}
.srow-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:10px;background:#f2f2f0;color:#2a2a28;overflow:hidden}
.srow.open .srow-icon{background:#e3e3df}
.v2 .srow-swatch{border:1px solid #0000001a;box-shadow:inset 0 0 0 3px #fff}
.v2 .srow-logo{padding:6px;background:repeating-conic-gradient(#eee 0 25%,#fff 0 50%) 0 0/10px 10px}
.srow-logo img{max-width:100%;max-height:100%;object-fit:contain}
.srow-copy{flex:1;min-width:0}
.srow-copy strong{display:block;font-size:var(--fs-base);font-weight:600;line-height:1.3}
.srow-copy small{display:block;margin-top:3px;overflow:hidden;font-size:var(--fs-caption);color:#92928f;white-space:nowrap;text-overflow:ellipsis}
.srow-chev{display:flex;color:#c2c2bd;transform:rotate(-90deg)}
.srow-field{flex:1;min-width:0}
.srow:has(textarea) .srow-edit{align-items:flex-start}
.v2 .srow-field input:not([type=checkbox]),.v2 .srow-field textarea{width:100%;min-height:44px;margin:0;padding:11px 14px;background:#fff;border:0;border-radius:10px;font-size:var(--fs-base)}
.srow-field textarea{display:block;font:inherit;font-size:var(--fs-body);line-height:1.5;resize:vertical}
.srow-pair{display:flex;gap:8px}
.v2 .srow-go{flex:none;padding:0 16px;min-height:44px}
.srow-submit{position:absolute;width:1px;height:1px;padding:0;opacity:0;pointer-events:none}
.srow-error{margin:6px 0 0;font-size:var(--fs-small)}
.srow-error:empty{display:none}
.srow-vars{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px}
.srow-vars button{padding:5px 9px;border-radius:7px;background:#fff;font-size:var(--fs-caption);color:#5f6058}
.srow-vars button:hover{background:#fafaf8}
.v2 .srow-vars .srow-reset{margin-left:auto;background:none;color:#6f706a}
.srow-vars [hidden]{display:none}
.srow-choices{display:flex;flex-wrap:wrap;gap:6px}
.srow-choices button{padding:11px 14px;border-radius:10px;background:#fff;font-size:var(--fs-small)}
.srow-choices [aria-checked=true]{background:#242522;color:#fff}
.srow-colors{display:flex;flex-wrap:wrap;align-items:center;gap:9px}
.srow-colors [data-color]{width:28px;height:28px;padding:0;border:1px solid #0000001a;border-radius:50%;background:var(--c)}
.srow-colors [aria-pressed=true]{box-shadow:0 0 0 2px #efefec,0 0 0 4px #242522}
.v2 .settings-color-button{flex:none;min-width:90px;height:30px;margin-left:4px;border:1px solid #0002;border-radius:15px;box-shadow:inset 0 0 0 3px #fff;color:#222;font-size:var(--fs-caption);font-weight:600;text-shadow:0 0 3px #fff,0 0 3px #fff;cursor:pointer}
.srow-logo-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}
.srow-upload{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border-radius:10px;background:#242522;color:#fff;font-size:var(--fs-small);font-weight:600;transition:background .15s}
.srow-upload:hover:not(:disabled){background:#3a3b37}
.srow-upload:disabled{opacity:.5}
.srow-logo-actions [hidden],#settings-logo-status:empty{display:none}
#settings-logo-status{margin:0 6px 0 0}
.settings-exit{display:flex;flex-wrap:wrap;gap:22px;margin:22px 0 0;padding:0 4px}
.settings-exit button{padding:0;background:none;font-size:var(--fs-base);font-weight:600}
.settings-exit #logout-all{font-weight:400;color:#8a8b85}
@media(max-width:600px){.srow-head,.srow-edit{gap:12px;padding:12px 14px}.srow-pair{flex-wrap:wrap}.srow-pair>input{flex:1 1 100%}}/* Shoot grid: whole photos in columns, laid out by photoColumns() in v2.js */
.v2 .photo-columns{display:flex;align-items:flex-start;gap:15px}.photo-col{flex:1;min-width:0;display:flex;flex-direction:column;gap:15px}
.v2 .photo-columns .photo-tile img{height:auto;aspect-ratio:var(--r)}
@media(max-width:760px){.v2 .photo-columns,.photo-col{gap:9px}}
/* No frame: the photo itself, its file name in a quiet line under it; selection rings the photo, not the caption */
.v2 .photo-columns .photo-tile,.v2 .photo-columns .photo-tile:has(input[data-photo]:checked){background:none;border:0;border-radius:0;overflow:visible;outline:0}
.v2 .photo-columns .photo-tile img{border-radius:8px}
.v2 .photo-columns .photo-tile p{margin:6px 2px 0;font-size:var(--fs-caption);color:#81827d}
.v2 .photo-columns .photo-tile small{padding:2px 2px 0}
.v2 .photo-columns .photo-tile:has(input[data-photo]:checked) img{outline:3px solid var(--yellow,#ffdc20);outline-offset:-3px}
.v2 .photo-columns .photo-tile.viewing:hover{box-shadow:none}.v2 .photo-columns .photo-tile.viewing:hover img{transform:none;box-shadow:0 6px 18px #24252229}
