body{margin:0;background:#fff;color:#111;font-family:Arial,Helvetica,sans-serif}.outlet-root{min-height:100vh;background:#fff}.oh{text-align:center;background:#000;color:#fff}.oh-top-strip{height:4px;background:linear-gradient(to right,#b38b2d,#f5d78e,#b38b2d)}.oh-inner{padding:30px 20px}.oh-eyebrow{color:#c9a84c;letter-spacing:4px;font-size:12px}.oh-logo{font-size:58px;margin:0;letter-spacing:10px}.oh-sub{color:#c9a84c;letter-spacing:6px}.oh-gold-bar{height:1px;background:#c9a84c}.oh-tagline{padding:12px;color:#eee;background:#111;letter-spacing:2px}.hero{text-align:center;padding:40px 20px 25px;background:#fff}.hero-eyebrow{color:#b38b2d;font-weight:bold;letter-spacing:3px;font-size:12px}.hero-title{font-size:38px;margin:10px 0;color:#111}.hero-title em{color:#b38b2d}.hero-desc{max-width:650px;margin:auto;color:#555;line-height:1.6}.gift-section{display:flex;justify-content:center;padding:0 18px 25px;background:#fff}.gift-card{width:100%;max-width:620px;background:#fff7e3;border:1px solid #d7b857;border-top:4px solid #c9a84c;border-radius:12px;padding:24px 28px;box-shadow:0 10px 28px rgba(0,0,0,.10);text-align:center;box-sizing:border-box}.gift-icon{font-size:34px;margin-bottom:6px}.gift-card h3{margin:0;color:#111;font-size:24px;letter-spacing:2px}.gift-main{color:#333;font-weight:bold;margin:12px auto 18px;max-width:500px}.gift-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.gift-grid span{background:#fff;border:1px solid #ead6a0;padding:10px 12px;border-radius:8px;color:#111;font-weight:bold;font-size:13px}.gift-note{margin-top:14px;font-size:13px;color:#7a5b00;font-weight:bold}.form-section{display:flex;justify-content:center;padding:25px 18px 50px;background:#fff}.form-card{width:100%;max-width:620px;background:#fff;border:1px solid #ead6a0;border-top:4px solid #c9a84c;box-shadow:0 10px 30px rgba(0,0,0,.10);border-radius:10px;overflow:hidden}.fc-header{text-align:center;padding:28px 25px;background:#fafafa;border-bottom:1px solid #eee}.fc-ornament{color:#c9a84c}.fc-title{margin:0;color:#111;font-size:28px}.fc-subtitle{color:#666;margin-top:8px}.fc-body{padding:28px}.field-group{margin-bottom:20px}.field-group label{display:block;margin-bottom:8px;color:#111;font-weight:bold;font-size:13px}.req{color:#b38b2d}.input-wrap{position:relative}.input-wrap i{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#b38b2d}.field-group input{width:100%;box-sizing:border-box;padding:14px 14px 14px 42px;border:1px solid #ddd;background:#fff;color:#111;border-radius:6px;font-size:15px}.field-group input:focus{outline:none;border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,.20)}.auth-check{margin:22px 0;padding:15px;background:#fff7e3;border:1px solid #ead6a0;border-radius:8px;display:flex;gap:10px;align-items:flex-start}.auth-check label{color:#333;line-height:1.5;font-size:13px}.auth-check input{margin-top:3px}.btn-registrar{width:100%;padding:16px;border:none;background:linear-gradient(to right,#b38b2d,#f5d78e,#b38b2d);color:#111;font-weight:bold;cursor:pointer;border-radius:8px;letter-spacing:2px;text-transform:uppercase}.btn-registrar:hover{opacity:.92}.mensaje{margin-top:15px;text-align:center;color:#dc2626;font-weight:bold;line-height:1.5}.success-card{padding:35px;text-align:center;background:#fff}.sc-icon{width:60px;height:60px;border-radius:50%;background:#e8f5e9;color:#2e7d32;display:flex;justify-content:center;align-items:center;margin:auto;font-size:26px}.sc-title{color:#111;font-size:32px;margin-top:15px}.sc-sub{color:#555;font-size:18px}.sc-note{color:#555}.sc-details{background:#fff7e3;border:1px solid #ead6a0;padding:15px;border-radius:8px;margin:15px 0}.gift-success{background:#fff7e3;border:2px solid #d7b857;border-radius:12px;padding:20px;margin:20px 0}.gift-success h3{margin-top:0;color:#b38b2d;font-size:24px}.gift-success p{margin:10px 0;color:#333;font-size:16px}.gift-warning{font-weight:bold;color:#8a6a12}.btn-nuevo{padding:12px 20px;border:1px solid #c9a84c;background:#fff;color:#111;cursor:pointer;border-radius:6px;font-weight:bold}.site-footer{text-align:center;background:#000;color:#fff}.sf-bar{height:3px;background:linear-gradient(to right,#b38b2d,#f5d78e,#b38b2d)}.sf-inner{padding:22px}.sf-brand{color:#fff;letter-spacing:4px}.sf-brand span{color:#c9a84c}.sf-copy{color:#aaa;font-size:12px}@media(max-width:600px){.oh-logo{font-size:42px;letter-spacing:6px}.hero-title{font-size:30px}.fc-body{padding:22px}.gift-grid{grid-template-columns:1fr}}

.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-group select,.field-group textarea{width:100%;box-sizing:border-box;padding:14px;border:1px solid #ddd;background:#fff;color:#111;border-radius:6px;font-size:15px;font-family:Arial,Helvetica,sans-serif}.field-group select:focus,.field-group textarea:focus{outline:none;border-color:#c9a84c;box-shadow:0 0 0 3px rgba(201,168,76,.20)}.file-input{width:100%;box-sizing:border-box;padding:12px;border:1px dashed #c9a84c;border-radius:6px;background:#fff7e3}.help-text{font-size:12px;color:#777;margin:6px 0 0}.admin-filters{margin-bottom:20px;display:grid;grid-template-columns:2fr 1fr 1fr 160px;gap:8px}.admin-filters input,.admin-filters select{padding:12px;border:1px solid #ddd;border-radius:6px;background:#fff;color:#111}.admin-table{width:100%;border-collapse:collapse;color:#111;font-size:13px}.admin-table th{padding:10px;border:1px solid #333;background:#000;color:#c9a84c;white-space:nowrap}.admin-table td{padding:8px;border:1px solid #ddd;vertical-align:top}.estatus-select{width:135px;padding:7px;border:1px solid #ddd;border-radius:5px;background:#fff}.mini-btn{margin-top:6px;width:100%;padding:7px;border:none;background:#111;color:#c9a84c;border-radius:5px;cursor:pointer;font-weight:bold}@media(max-width:800px){.field-row{grid-template-columns:1fr}.admin-filters{grid-template-columns:1fr}.admin-table{font-size:12px}.oh-logo{font-size:36px}}

/* Panel de facturas en tarjetas */
.admin-page-section{align-items:flex-start}.admin-card-wide{max-width:1180px!important}.admin-header-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:14px}.admin-facturas-body{background:#fff}.clean-filters{grid-template-columns:2fr 1fr 1fr 150px;margin-bottom:14px}.clean-filters input,.clean-filters select{height:42px}.admin-toolbar{display:flex;justify-content:flex-end;margin:12px 0 18px}.invoice-cards{display:grid;gap:16px}.invoice-card{border:1px solid #ead6a0;border-left:5px solid #c9a84c;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.07);overflow:hidden}.invoice-card-main{display:grid;grid-template-columns:1fr 180px;gap:18px;padding:18px}.invoice-topline{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}.invoice-id{font-weight:bold;color:#777}.store-badge,.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:bold;letter-spacing:.5px}.store-badge{background:#fff7e3;color:#8a6a12;border:1px solid #ead6a0}.status-badge{border:1px solid #ddd;background:#f5f5f5;color:#333}.status-pendiente{background:#fff7e3;color:#8a6a12;border-color:#ead6a0}.status-en-revision{background:#eef2ff;color:#3730a3;border-color:#c7d2fe}.status-facturada{background:#e8f5e9;color:#166534;border-color:#bbf7d0}.status-cancelada{background:#fee2e2;color:#991b1b;border-color:#fecaca}.invoice-client{font-size:20px;margin:4px 0 14px;color:#111}.invoice-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.invoice-summary-grid div,.detail-grid div{background:#fafafa;border:1px solid #eee;border-radius:8px;padding:10px;min-width:0}.invoice-summary-grid span,.detail-grid span{display:block;color:#777;font-size:11px;text-transform:uppercase;font-weight:bold;margin-bottom:5px}.invoice-summary-grid strong,.detail-grid strong{display:block;color:#111;font-size:13px;line-height:1.35;word-break:break-word}.invoice-actions{display:flex;align-items:flex-start;justify-content:flex-end}.status-form{width:100%}.status-form .estatus-select{width:100%;height:38px}.status-form .mini-btn{height:36px}.invoice-detail{border-top:1px solid #eee;background:#fffdf8}.invoice-detail summary{cursor:pointer;padding:12px 18px;font-weight:bold;color:#b38b2d;list-style:none}.invoice-detail summary::-webkit-details-marker{display:none}.invoice-detail summary::after{content:'+';float:right;color:#111}.invoice-detail[open] summary::after{content:'–'}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 18px 18px}.detail-wide{grid-column:span 3}.detail-grid a{color:#b38b2d;font-weight:bold}@media(max-width:900px){.clean-filters{grid-template-columns:1fr}.invoice-card-main{grid-template-columns:1fr}.invoice-actions{justify-content:stretch}.invoice-summary-grid{grid-template-columns:1fr 1fr}.detail-grid{grid-template-columns:1fr}.detail-wide{grid-column:span 1}}@media(max-width:560px){.invoice-card-main{padding:14px}.invoice-client{font-size:17px}.invoice-summary-grid{grid-template-columns:1fr}.admin-toolbar{justify-content:stretch}.admin-toolbar .btn-nuevo{width:100%;text-align:center}.oh-logo{font-size:34px;letter-spacing:5px}.oh-sub{letter-spacing:3px;font-size:12px}}
.nota-factura {
    background: #fff8e6;
    color: #111;
    border: 1px solid #d7b857;
    border-left: 6px solid #c9a84c;
    border-radius: 10px;
    padding: 18px 22px;
    margin: 20px 0 28px;
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
}

.nota-factura h4 {
    margin: 0 0 12px;
    color: #8a6500;
    font-size: 18px;
    text-align: center;
}

.nota-factura ul {
    margin: 0;
    padding-left: 0;
    list-style: none;
}

.nota-factura li {
    margin-bottom: 9px;
    line-height: 1.4;
    font-size: 14px;
    color: #222;
}

.nota-factura li::before {
    content: "✓";
    color: #b38b2d;
    font-weight: bold;
    margin-right: 8px;
}

.nota-factura .importante {
    margin-top: 12px;
    padding: 10px 12px;
    border: 1px solid #c9a84c;
    border-radius: 8px;
    background: #fff;
    color: #8a6500;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase;
}
.folio-alerta {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin: 16px 0 0;
    padding: 12px 14px;
    border: 2px solid #c9a84c;
    border-radius: 8px;
    background: #fff;
    color: #8a6500;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
    font-size: 14px;
    line-height: 1.3;
}

@media (max-width: 600px) {
    .folio-alerta {
        font-size: 15px;
        padding: 12px;
        margin-top: 14px;
        line-height: 1.25;
    }
}