/* Vervain Theme: Layout 005 (Left Sidebar & Soft Herbal Style) */
body { background: #f5f7f5; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #2d3748; margin: 0; padding: 0; }
.vervain-layout { display: flex; min-height: 100vh; position: relative; }
.vervain-sidebar { width: 260px; background: #1e4620; color: #fff; padding: 30px 20px; box-sizing: border-box; display: flex; flex-direction: column; flex-shrink: 0; border-right: 1px solid rgba(255,255,255,0.05); position: fixed; height: 100vh; top: 0; left: 0; z-index: 999; }
.vervain-logo { margin-bottom: 40px; text-align: center; }
.vervain-logo img { max-height: 50px; display: inline-block; }
.vervain-nav { list-style: none; padding: 0; margin: 0; }
.vervain-nav li { margin-bottom: 12px; }
.vervain-nav a { display: block; padding: 12px 18px; color: rgba(255,255,255,0.85); text-decoration: none; border-radius: 6px; font-size: 14px; transition: all 0.3s; background: rgba(255,255,255,0.02); }
.vervain-nav a:hover, .vervain-nav .active { background: #2e7d32; color: #fff; box-shadow: 0 4px 12px rgba(46,125,50,0.3); }
.vervain-main-container { flex-grow: 1; margin-left: 260px; padding: 40px; box-sizing: border-box; background: #f5f7f5; min-width: 0; }
.vervain-notice-card { background: #fff; border-left: 5px solid #2e7d32; padding: 20px 25px; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.02); margin-bottom: 30px; line-height: 1.6; }
.vervain-section-title { font-size: 18px; font-weight: 600; color: #1e4620; margin: 35px 0 15px 0; border-bottom: 1px solid rgba(0,0,0,0.05); padding-bottom: 10px; display: flex; align-items: center; }
.vervain-section-title i { margin-right: 8px; color: #2e7d32; }
.vervain-ledger-list { display: flex; flex-direction: column; gap: 15px; }
.vervain-ledger-row { background: #fff; border-radius: 10px; padding: 20px 25px; display: flex; align-items: center; justify-content: space-between; box-shadow: 0 5px 20px rgba(0,0,0,0.02); border: 1px solid rgba(0,0,0,0.01); transition: all 0.3s; }
.vervain-ledger-row:hover { transform: translateY(-2px); box-shadow: 0 8px 30px rgba(46,125,50,0.06); border-color: rgba(46,125,50,0.1); }
.vervain-ledger-info { display: flex; align-items: center; gap: 20px; flex-grow: 1; min-width: 0; }
.vervain-ledger-title { font-size: 16px; font-weight: 600; color: #2d3748; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vervain-ledger-meta { display: flex; align-items: center; gap: 25px; flex-shrink: 0; margin-left: 20px; }
.vervain-badge-auto { background: #e8f5e9; color: #2e7d32; border: 1px solid #c8e6c9; border-radius: 4px; padding: 2px 8px; font-size: 12px; }
.vervain-badge-manual { background: #f5f5f5; color: #757575; border: 1px solid #e0e0e0; border-radius: 4px; padding: 2px 8px; font-size: 12px; }
.vervain-price { font-size: 20px; font-weight: 700; color: #d84315; font-family: Arial; }
.vervain-btn-buy { background: linear-gradient(135deg, #2e7d32, #1b5e20); color: #fff !important; border-radius: 6px; padding: 8px 24px; border: none; font-size: 14px; cursor: pointer; box-shadow: 0 4px 10px rgba(46,125,50,0.2); transition: all 0.3s; text-decoration: none !important; }
.vervain-btn-buy:hover { opacity: 0.95; transform: translateY(-1px); box-shadow: 0 6px 15px rgba(46,125,50,0.3); }
.vervain-card { background: #fff; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.03); border: 1px solid rgba(0,0,0,0.02); padding: 30px; box-sizing: border-box; }
.layui-form-label { background: #f5f7f5 !important; border: 1px solid #e2e8f0 !important; border-right: none !important; color: #4a5568 !important; border-radius: 6px 0 0 6px !important; }
.layui-input { border-radius: 0 6px 6px 0 !important; border: 1px solid #e2e8f0 !important; }
.layui-input:focus { border-color: #2e7d32 !important; box-shadow: 0 0 0 3px rgba(46,125,50,0.1) !important; }

/* Mobile Adaptations */
@media (max-width: 768px) {
    .vervain-sidebar { width: 100%; height: auto; position: relative; padding: 15px 20px; display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
    .vervain-logo { margin-bottom: 0; }
    .vervain-nav { display: none; }
    .vervain-main-container { margin-left: 0; padding: 20px; }
    .vervain-ledger-row { flex-direction: column; align-items: stretch; gap: 15px; padding: 15px; }
    .vervain-ledger-info { flex-direction: column; align-items: flex-start; gap: 10px; }
    .vervain-ledger-meta { margin-left: 0; justify-content: space-between; width: 100%; }
}
