.ordercraft-specification-fields, .ordercraft-artwork-upload, .ordercraft-portal-card { border: 1px solid #e2e8f0; border-radius: 8px; padding: 16px; margin: 18px 0; background: #fff; }
.ordercraft-status { display: inline-block; border-radius: 999px; padding: 3px 9px; font-size: 11px; font-weight: 600; background: #eef2ff; color: #3730a3; }
.ordercraft-status-approved, .ordercraft-status-in_production, .ordercraft-status-ready, .ordercraft-status-completed { background: #dcfce7; color: #166534; }
.ordercraft-status-artwork_changes_required, .ordercraft-status-changes_requested { background: #fef3c7; color: #92400e; }
.ordercraft-status-cancelled { background: #fee2e2; color: #991b1b; }
.ordercraft-specification-fields legend { font-weight: 600; padding: 0 8px; }
.ordercraft-specification-field label, .ordercraft-artwork-upload label { display: block; font-weight: 600; margin-bottom: 6px; }
.ordercraft-specification-field input, .ordercraft-specification-field select, .ordercraft-specification-field textarea, .ordercraft-artwork-upload input[type="file"] { max-width: 100%; }
.ordercraft-specification-field small, .ordercraft-artwork-upload small { display: block; margin-top: 5px; color: #64748b; }
.ordercraft-specification-radio { display: inline-block !important; font-weight: 400 !important; margin: 4px 14px 4px 0; }
.ordercraft-customer-portal { max-width: 980px; }
.ordercraft-customer-portal > h2 { margin-bottom: 6px; color: #0b2545; font-size: 28px; letter-spacing: -.02em; }
.ordercraft-customer-portal > p { color: #64748b; }
.ordercraft-portal-card { padding: 22px; border-color: #dbe3ef; box-shadow: 0 6px 20px rgba(15, 23, 42, .06); }
.ordercraft-portal-card h3 { margin-top: 0; color: #172554; font-size: 20px; }
.ordercraft-order-reference { margin: -8px 0 14px; color: #64748b; font-size: 13px; }
.ordercraft-order-reference strong { color: #334155; }
.ordercraft-customer-portal .button { display: inline-flex; min-height: 42px; align-items: center; justify-content: center; padding: 9px 17px; border: 1px solid #cbd5e1; border-radius: 9px; background: #fff; color: #1e293b; font-weight: 700; line-height: 20px; text-decoration: none; box-shadow: 0 1px 2px rgba(15, 23, 42, .05); transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease, box-shadow .15s ease; }
.ordercraft-customer-portal .button:hover { border-color: #2563eb; background: #eff6ff; color: #1d4ed8; transform: translateY(-1px); }
.ordercraft-customer-portal .button.button-primary { border-color: #1d4ed8; background: #2563eb; color: #fff; box-shadow: 0 5px 12px rgba(37, 99, 235, .2); }
.ordercraft-customer-portal .button.button-primary:hover { border-color: #1e40af; background: #1d4ed8; color: #fff; }
.ordercraft-preview-card { margin: 14px 0; padding: 12px; border: 1px solid #dbe3ef; border-radius: 10px; background: #f8fafc; }
.ordercraft-preview-card__label { display: block; margin-bottom: 8px; color: #64748b; font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.ordercraft-preview-card img { display: block; width: 100%; max-width: 520px; max-height: 360px; border: 1px solid #cbd5e1; border-radius: 8px; background: #fff; object-fit: contain; }
.ordercraft-customer-note, .ordercraft-proof-actions form { background: #f8fafc; }
.ordercraft-proof-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 18px; margin-top: 16px; }
.ordercraft-proof-actions form { display: flex; flex-direction: column; align-items: flex-start; padding: 16px; border: 1px solid #e2e8f0; border-radius: 10px; box-shadow: 0 2px 8px rgba(15, 23, 42, .03); }
.ordercraft-proof-actions form .button { margin-top: auto; }
.ordercraft-proof-actions textarea { display: block; width: 100%; min-height: 80px; margin: 8px 0; box-sizing: border-box; }
.ordercraft-customer-note { padding: 16px; border: 1px solid #e2e8f0; border-radius: 10px; }
.ordercraft-customer-note label { display: block; margin-bottom: 7px; color: #334155; font-weight: 700; }
.ordercraft-customer-note textarea { display: block; width: 100%; min-height: 78px; margin: 8px 0 12px; box-sizing: border-box; border: 1px solid #cbd5e1; border-radius: 8px; }
.ordercraft-artwork-replacement { padding: 12px; margin: 12px 0; border-left: 4px solid #f59e0b; background: #fffbeb; }
.ordercraft-artwork-replacement form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ordercraft-status-guide { display: flex; gap: 12px; align-items: flex-start; padding: 14px 16px; margin: 14px 0; border: 1px solid #bfdbfe; border-left: 4px solid #2563eb; border-radius: 8px; background: #eff6ff; color: #1e3a8a; }
.ordercraft-status-guide strong { display: block; margin-bottom: 3px; color: #172554; }
.ordercraft-status-guide p { margin: 0; }
.ordercraft-loader { display: none; position: fixed; inset: 0; z-index: 100000; align-items: center; justify-content: center; background: rgba(15, 23, 42, .42); backdrop-filter: blur(2px); }
.ordercraft-loader.is-visible { display: flex; }
.ordercraft-loader__spinner { width: 34px; height: 34px; margin-right: 12px; border: 3px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: ordercraft-spin .75s linear infinite; }
.ordercraft-loader__text { color: #fff; font-size: 14px; font-weight: 600; }
.ordercraft-is-loading { opacity: .7; pointer-events: none; }
@keyframes ordercraft-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ordercraft-loader__spinner { animation: none; border-top-color: #fff; } }
@media (max-width: 640px) { .ordercraft-proof-actions { grid-template-columns: 1fr; } .ordercraft-artwork-replacement form { align-items: stretch; flex-direction: column; } }
