.manual-crop{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid #cfc6b0;border-radius:6px;background:#fafaf8}.manual-crop__hint{font-size:12px;color:#57534a}.manual-crop__stage{position:relative;width:100%;max-width:340px;line-height:0;-webkit-user-select:none;user-select:none;touch-action:none}.manual-crop__stage img{width:100%;height:auto;display:block;border-radius:3px}.manual-crop__dim{position:absolute;background:#201d188c;pointer-events:none}.manual-crop__box{position:absolute;border:2px solid #a6813c;box-shadow:0 0 0 1px #fff9;cursor:move}.manual-crop__handle{position:absolute;right:-7px;bottom:-7px;background:#a6813c;border:2px solid #ffffff;border-radius:50%;cursor:nwse-resize}.manual-crop__actions{display:flex;gap:8px}.manual-crop__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;color:inherit;cursor:pointer;padding:8px 14px;border-radius:3px;font-size:12.5px;font-weight:600;border:1px solid #cfc6b0}.manual-crop__btn--primary{background:#201d18;color:#fff;border-color:#201d18}.manual-crop__btn--ghost{background:transparent;color:#57534a}.image-capture{display:flex;flex-direction:column;gap:10px}.image-capture__actions{display:flex;gap:10px}@media (max-width: 640px){.image-capture__actions{flex-direction:column}}.image-capture__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;color:inherit;cursor:pointer;flex:1;padding:12px 16px;background:#201d18;color:#fff;border-radius:3px;font-size:14px;font-weight:600;text-align:center;transition:background .15s cubic-bezier(.4,0,.2,1)}.image-capture__btn:hover{background:#3d372e}.image-capture__btn--ghost{background:transparent;color:#201d18;border:1px solid #cfc6b0}.image-capture__btn--ghost:hover{background:#fff;border-color:#a6813c}.image-capture__btn--ai{width:100%;background:#a6813c;color:#fff}.image-capture__btn--ai:hover:not(:disabled){background:#7c5f28}.image-capture__btn--ai:disabled{opacity:.7;cursor:wait}.image-capture__toolset{display:flex;flex-direction:column;gap:6px;padding-top:2px}.image-capture__status{font-size:13px;color:#57534a}.image-capture__status--error{color:#a13a2f}.image-capture__hint{font-size:13px;color:#2f6a4c}.image-capture__link{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;color:#7c5f28;text-decoration:underline;font-size:13px}.image-capture__link:hover{color:#a6813c}.image-capture__link--remove{color:#a13a2f}.image-capture__link--remove:hover{color:#812f26}.image-editor{display:flex;flex-direction:column;gap:8px}.image-editor__frame{position:relative;width:100%;aspect-ratio:1/1;background:repeating-conic-gradient(#f1efe9,#f1efe9 25%,#fff 0%,#fff 50%) 0 0/16px 16px;border:1px solid #e3ddd0;border-radius:3px;overflow:hidden;touch-action:none;cursor:grab}.image-editor__frame:active{cursor:grabbing}.image-editor__cutout{position:absolute;top:50%;left:50%;max-width:none;max-height:85%;width:auto;height:85%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none}.image-editor__empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:12px;text-align:center;font-size:12px;color:#57534a}.image-editor__controls{display:flex;align-items:center;gap:12px}.image-editor__zoom{flex:1;display:flex;flex-direction:column;gap:4px;font-size:12px;color:#57534a}.image-editor__zoom input{width:100%}.image-editor__reset{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;color:inherit;cursor:pointer;font-size:12px;color:#7c5f28;border:1px solid #cfc6b0;padding:6px 10px;border-radius:3px;white-space:nowrap}.image-editor__reset:disabled{opacity:.4;cursor:not-allowed}.image-editor__reset:hover:not(:disabled){border-color:#a6813c}.image-editor__hint{font-size:11px;color:#57534a}.xrf-fields{display:flex;flex-direction:column;gap:8px}.xrf-fields__row{display:grid;grid-template-columns:1fr 80px 16px 24px;align-items:center;gap:8px}.xrf-fields__label{font-size:13px;color:#201d18}.xrf-fields__input{padding:6px 8px;border:1px solid #cfc6b0;border-radius:3px;font-size:13px;text-align:right}.xrf-fields__percent{font-size:12px;color:#57534a}.xrf-fields__remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;color:#a13a2f;font-size:16px;line-height:1;text-align:center}.xrf-fields__remove:hover{color:#7a2c23}.xrf-fields__total{font-size:12px;color:#57534a;padding-top:2px}.xrf-fields__total.is-off{color:#a13a2f}.xrf-fields__add select{width:100%;padding:8px;border:1px dashed #cfc6b0;border-radius:3px;background:#fff;font-size:13px;color:#57534a}.cert-form{display:flex;flex-direction:column;gap:18px}.cert-form__section{display:flex;flex-direction:column;gap:16px;background:#fff;border:1px solid #e3ddd0;border-radius:6px;padding:20px 20px 22px;box-shadow:0 1px 2px #201d1809;transition:border-color .15s cubic-bezier(.4,0,.2,1)}@media (max-width: 640px){.cert-form__section{padding:16px 16px 18px;border-radius:3px}}.cert-form__heading{display:inline-block;font-family:Cormorant Garamond,Georgia,serif;font-size:15px;font-weight:600;letter-spacing:.01em;color:#7c5f28;padding-bottom:8px;border-bottom:2px solid rgba(166,129,60,.35);width:fit-content}.cert-form__field{display:flex;flex-direction:column;gap:6px}.cert-form__field label{font-size:12.5px;font-weight:500;color:#57534a}.cert-form__required{color:#a13a2f}.cert-form__optional{color:#57534a;font-style:italic;font-weight:400}.cert-form__checkbox-row{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;color:#57534a;cursor:pointer}.cert-form__checkbox-row input[type=checkbox]{width:14px;height:14px;accent-color:#a6813c;cursor:pointer}.cert-form__input{padding:10px 12px;border:1px solid #cfc6b0;border-radius:3px;font-size:14px;color:#201d18;background:#fafaf8;width:100%;transition:border-color .15s cubic-bezier(.4,0,.2,1),box-shadow .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1)}.cert-form__input:hover{border-color:#c3b89d}.cert-form__input:focus{border-color:#a6813c;background:#fff;box-shadow:0 0 0 3px #a6813c24}.cert-form__input::placeholder{color:#898274}.cert-form__error{font-size:11.5px;color:#a13a2f}.cert-form__karat-chips{display:flex;gap:6px;flex-wrap:wrap}.cert-form__chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;color:inherit;cursor:pointer;padding:6px 12px;border:1px solid #cfc6b0;border-radius:20px;font-size:12px;font-weight:500;color:#57534a;transition:all .15s cubic-bezier(.4,0,.2,1)}.cert-form__chip.is-active{background:#201d18;color:#fff;border-color:#201d18}.cert-form__chip:hover:not(.is-active){border-color:#a6813c;color:#7c5f28}.cert-form__photo-row{display:grid;grid-template-columns:1fr 150px;gap:16px;align-items:start}@media (max-width: 640px){.cert-form__photo-row{grid-template-columns:1fr}}.xrf-card{width:376.64px;height:237.512px;border-radius:9.24px;box-shadow:0 1px 2px #0000000f,0 10px 28px #2c23131f;overflow:hidden;flex-shrink:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#2c2313;position:relative;background:radial-gradient(circle at 90% 0%,rgba(185,134,47,.08),transparent 55%),#fbf6ea}.xrf-card__border{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border:1.4px solid #b9862f;border-radius:7.04px;box-shadow:inset 0 0 0 3px #fbf6ea,inset 0 0 0 3.6px #b9862f8c;overflow:hidden}.xrf-card__corner{position:absolute;width:18px;height:18px;color:#b9862f;z-index:1}.xrf-card__corner--tl{top:3px;left:3px}.xrf-card__corner--tr{top:3px;right:3px;transform:scaleX(-1)}.xrf-card__corner--bl{bottom:3px;left:3px;transform:scaleY(-1)}.xrf-card__corner--br{bottom:3px;right:3px;transform:scale(-1)}.xrf-card__content{position:relative;z-index:1;height:100%;padding:8px 11px;display:flex;flex-direction:column;gap:3px}.xrf-card__header{display:flex;align-items:center;gap:7px}.xrf-card__logo{flex-shrink:0;width:24px;display:flex;flex-direction:column;align-items:center;color:#8c611c}.xrf-card__logo-gem{width:12px;height:12px}.xrf-card__logo-mark{font-family:Fraunces,Cormorant Garamond,Georgia,serif;font-weight:700;font-size:13px;line-height:1;margin-top:1px}.xrf-card__title-block{min-width:0;flex:1}.xrf-card__shop-name{font-family:Fraunces,Cormorant Garamond,Georgia,serif;font-size:12.5px;font-weight:700;letter-spacing:.02em;color:#2c2313;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xrf-card__shop-address{font-size:6px;letter-spacing:.03em;color:#6b5c3f;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xrf-card__divider{display:flex;align-items:center;height:6px}.xrf-card__divider:before,.xrf-card__divider:after{content:"";flex:1;height:1px;background:#b9862f73}.xrf-card__divider--tight{margin-top:1px}.xrf-card__diamond{color:#b9862f;font-size:6px;padding:0 5px;line-height:1}.xrf-card__badge{align-self:center;font-family:Cormorant Garamond,Georgia,serif;font-size:7px;font-weight:600;letter-spacing:.08em;color:#8c611c;text-transform:uppercase;padding:1.5px 10px;border:1px solid #b9862f;border-radius:10px;background:#b9862f0f;white-space:nowrap;margin:1px 0 3px}.xrf-card__body{flex:1;display:flex;align-items:stretch;gap:8px;min-height:0}.xrf-card__details{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1.4px}.xrf-card__section-title{font-family:Cormorant Garamond,Georgia,serif;font-weight:700;font-size:7px;letter-spacing:.04em;color:#8c611c;text-transform:uppercase;margin:1px 0 .5px}.xrf-card__row{display:grid;grid-template-columns:46px 6px 1fr;align-items:baseline;font-size:6.4px;line-height:1.25}.xrf-card__label{color:#2c2313;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xrf-card__colon{color:#8c611c}.xrf-card__value{color:#6b5c3f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.xrf-card__value.is-mono{font-variant-numeric:tabular-nums;letter-spacing:.02em}.xrf-card__image-frame{position:relative;flex:0 0 auto;width:auto;height:100%;max-width:55%;aspect-ratio:.82;border:1px solid #b9862f;border-radius:3px;background:#b9862f0d;overflow:hidden}.xrf-card__image-frame img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transform-origin:center}.xrf-card__frame-corner{position:absolute;width:11px;height:11px;color:#b9862f;z-index:2}.xrf-card__frame-corner--tl{top:2px;left:2px}.xrf-card__frame-corner--br{bottom:2px;right:2px;transform:scale(-1)}.xrf-card__image-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:6px;color:#6b5c3f;text-align:center;padding:6px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;width:100%;justify-content:center}@media (max-width: 640px){.toolbar{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toolbar__btn:last-child{grid-column:1/-1}}.toolbar__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;color:inherit;cursor:pointer;padding:10px 16px;border-radius:3px;font-size:13px;font-weight:600;border:1px solid #cfc6b0;background:#fff;color:#201d18;transition:border-color .15s cubic-bezier(.4,0,.2,1),background .15s cubic-bezier(.4,0,.2,1)}.toolbar__btn:hover:not(:disabled){border-color:#a6813c}.toolbar__btn:disabled{opacity:.6;cursor:not-allowed}.toolbar__btn--primary{background:#201d18;color:#fff;border-color:#201d18}.toolbar__btn--primary:hover:not(:disabled){background:#433d32}.toolbar__btn--ghost{color:#a13a2f;border-color:transparent}.toolbar__btn--ghost:hover{border-color:#a13a2f}.history-page__search{width:100%;padding:10px 14px;margin-bottom:16px;border:1px solid #cfc6b0;border-radius:3px;font-size:13.5px;background:#fff}.history-page__search:focus{border-color:#a6813c}.history-page{max-width:1180px;margin:0 auto;padding:32px 24px 80px}.history-page__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.history-page__head h2{font-family:Fraunces,Cormorant Garamond,Georgia,serif;font-size:22px}.history-page__new{color:#7c5f28;font-size:14px;font-weight:600;text-decoration:none}.history-page__new:hover{text-decoration:underline}.history-page__empty{color:#57534a;padding:40px 0;text-align:center}.history-page__table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e3ddd0;border-radius:6px;overflow:hidden}.history-page__table th,.history-page__table td{text-align:left;padding:12px 14px;font-size:13px;border-bottom:1px solid #e3ddd0}.history-page__table th{color:#57534a;font-weight:600;background:#fafaf8}.history-page__table tr:last-child td{border-bottom:none}.history-page__actions{display:flex;gap:12px}.history-page__actions a{color:#7c5f28}.history-page__actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;color:#a13a2f}.admin-page{max-width:1180px;margin:0 auto;padding:32px 24px 80px}.admin-page h2{font-family:Fraunces,Cormorant Garamond,Georgia,serif;font-size:22px}.admin-page__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.admin-page__logout{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;color:inherit;cursor:pointer;font-size:13px;color:#57534a;border:1px solid #cfc6b0;padding:7px 14px;border-radius:3px}.admin-page__logout:hover{border-color:#a6813c;color:#201d18}.admin-page--login{display:flex;justify-content:center;padding-top:100px}.admin-page__login-card{display:flex;flex-direction:column;gap:12px;width:320px;background:#fff;border:1px solid #e3ddd0;border-radius:6px;padding:28px}.admin-page__login-card h2{font-size:18px}.admin-page__login-card p{font-size:13px;color:#57534a}.admin-page__login-card input{padding:10px;border:1px solid #cfc6b0;border-radius:3px}.admin-page__login-card button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;font:inherit;color:inherit;cursor:pointer;padding:10px;background:#201d18;color:#fff;border-radius:3px;font-weight:600}.admin-page__error{color:#a13a2f;font-size:13px}.admin-page__table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e3ddd0;border-radius:6px;overflow:hidden}.admin-page__table th,.admin-page__table td{text-align:left;padding:12px 14px;font-size:13px;border-bottom:1px solid #e3ddd0}.admin-page__table th{background:#fafaf8;color:#57534a}.admin-page__table a{color:#7c5f28}.admin-page__actions{display:flex;gap:12px}.admin-page__actions a{color:#7c5f28}.admin-page__actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font:inherit;color:inherit;cursor:pointer;color:#a13a2f}.admin-page__actions button:hover{text-decoration:underline}.app{min-height:100vh;display:flex;flex-direction:column}.app__header{position:sticky;top:0;z-index:10;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid #e3ddd0}@media print{.app__header{display:none}}.app__brand{display:flex;align-items:center;gap:10px;font-family:Fraunces,Cormorant Garamond,Georgia,serif;font-size:17px;font-weight:600;color:#201d18}.app__brand-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid #a6813c;color:#7c5f28;font-family:Cormorant Garamond,Georgia,serif;font-size:13px}.app__nav{display:flex;gap:24px}.app__nav a{font-size:13px;font-weight:600;color:#57534a;text-decoration:none;padding-bottom:4px;border-bottom:2px solid transparent}.app__nav a.active{color:#201d18;border-color:#a6813c}.app__nav a:hover{color:#201d18}@media (max-width: 640px){.app__nav{gap:14px}}.app main{flex:1}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:#fafaf8;color:#201d18;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{min-height:100vh}h1,h2,h3,h4{margin:0;font-weight:600}p{margin:0}button:focus-visible{outline:2px solid #a6813c;outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #a6813c;outline-offset:2px}input,select,textarea{font-family:inherit}::selection{background:#a6813c40}@media (prefers-reduced-motion: reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}}@media print{@page{size:85.6mm 53.98mm;margin:0}body *{visibility:hidden}#print-card,#print-card *{visibility:visible}#print-card{position:fixed;top:0;left:0;width:85.6mm;height:53.98mm;box-shadow:none!important}}
