/* Tessera Theme: Layout 008 (Asymmetric Bento Grid & Clean Japandi Style) */
body { background: #ebe8e0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #3e3a35; margin: 0; padding: 0; }
.tessera-layout { display: flex; flex-direction: column; min-height: 100vh; position: relative; }
.tessera-head-capsule { background: #ffffff; border-radius: 50px; padding: 15px 30px; margin: 25px auto; max-width: 1050px; width: calc(100% - 40px); box-sizing: border-box; border: 1px solid #d2cdc3; display: flex; justify-content: space-between; align-items: center; }
.tessera-logo img { max-height: 38px; display: block; filter: grayscale(1) contrast(1.1); }
.tessera-menu { display: flex; list-style: none; padding: 0; margin: 0; gap: 10px; }
.tessera-menu a { color: #5a554e; text-decoration: none; font-size: 13.5px; font-weight: 600; padding: 10px 20px; border-radius: 50px; transition: all 0.25s; }
.tessera-menu a:hover, .tessera-menu .active { background: #3e3a35; color: #ffffff; }
.tessera-container { max-width: 1050px; margin: 0 auto 50px auto; padding: 0 20px; box-sizing: border-box; width: 100%; flex-grow: 1; }
.tessera-bento-notice { background: #ffffff; border-radius: 14px; padding: 20px 25px; border: 1px solid #d2cdc3; margin-bottom: 30px; line-height: 1.6; font-size: 13.5px; }
.tessera-bento-notice i { margin-right: 8px; color: #3e3a35; }
.tessera-section-title { font-size: 16px; font-weight: bold; color: #3e3a35; margin: 35px 0 15px 0; border-bottom: 1.5px solid #d2cdc3; padding-bottom: 10px; display: flex; align-items: center; letter-spacing: 0.5px; }
.tessera-section-title i { margin-right: 8px; color: #3e3a35; }
.tessera-bento-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.tessera-bento-box { background: #ffffff; border-radius: 14px; padding: 22px; display: flex; flex-direction: column; justify-content: space-between; min-height: 175px; border: 1px solid #d2cdc3; transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1); }
.tessera-bento-box:hover { transform: scale(1.015); border-color: #3e3a35; box-shadow: 0 10px 25px rgba(0,0,0,0.03); }
.tessera-card-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 12px; }
.tessera-card-title { font-size: 14px; font-weight: bold; color: #3e3a35; line-height: 1.5; }
.tessera-badge-auto { background: #f1f3f0; color: #3e3a35; border: 1px solid #d2cdc3; border-radius: 4px; padding: 2px 8px; font-size: 10.5px; font-weight: bold; }
.tessera-badge-manual { background: #fafafa; color: #777772; border: 1px solid #e2e2dc; border-radius: 4px; padding: 2px 8px; font-size: 10.5px; }
.tessera-card-footer { display: flex; align-items: flex-end; justify-content: space-between; margin-top: 15px; border-top: 1px solid #f1f0ec; padding-top: 15px; }
.tessera-price-box { display: flex; flex-direction: column; }
.tessera-qty-info { font-size: 11px; color: #777772; margin-bottom: 2px; }
.tessera-price { font-size: 19px; font-weight: bold; color: #3e3a35; }
.tessera-btn-action { background: #3e3a35; color: #ffffff !important; border-radius: 6px; padding: 8px 22px; border: none; font-size: 12px; font-weight: bold; cursor: pointer; transition: all 0.25s; text-decoration: none !important; display: inline-block; }
.tessera-btn-action:hover { opacity: 0.9; }
.tessera-panel-compartment { background: #ffffff; border-radius: 14px; border: 1px solid #d2cdc3; padding: 35px; box-sizing: border-box; }
.layui-form-label { background: #fcfbfa !important; border: 1px solid #d2cdc3 !important; border-right: none !important; color: #3e3a35 !important; border-radius: 6px 0 0 6px !important; font-weight: bold !important; }
.layui-input { border-radius: 0 6px 6px 0 !important; border: 1px solid #d2cdc3 !important; background: #ffffff !important; }
.layui-input:focus { border-color: #3e3a35 !important; box-shadow: 0 0 0 3px rgba(62,58,53,0.05) !important; }

/* Mobile Adaptations */
@media (max-width: 768px) {
    .tessera-head-capsule { flex-direction: column; gap: 15px; padding: 15px; border-radius: 16px; margin: 15px auto; }
    .tessera-menu { flex-wrap: wrap; justify-content: center; gap: 10px; }
    .tessera-menu a { padding: 8px 15px; font-size: 12.5px; }
    .tessera-container { padding: 0 15px; }
    .tessera-bento-grid { grid-template-columns: 1fr; gap: 15px; }
}
