.vfn{--c:var(--vfn,#2e7d32);font-size:16px;line-height:1.5;color:#1d2327;box-sizing:border-box}
.vfn *,.vfn *:before,.vfn *:after{box-sizing:inherit}
.vfn-wrap{max-width:900px;margin:0 auto;padding:12px}.vfn-wide{max-width:1300px}.vfn-narrow{max-width:420px}
.vfn h2,.vfn h3{margin:.6em 0 .3em}
.vfn-muted{color:#646970;font-size:.9em}
.vfn-form{margin:12px 0}.vfn-form fieldset,.vfn-land{border:1px solid #dcdcde;border-radius:8px;padding:12px;margin:12px 0}
.vfn-f{display:block;margin:10px 0}.vfn-f>span{display:block;font-weight:600;margin-bottom:3px}.vfn-f small{display:block;color:#646970}
.vfn input[type=text],.vfn input[type=tel],.vfn input[type=email],.vfn input[type=number],.vfn input[type=date],.vfn input[type=password],.vfn input[type=search],.vfn select,.vfn textarea{width:100%;max-width:100%;min-height:44px;padding:8px 10px;border:1px solid #8c8f94;border-radius:6px;font-size:16px}
.vfn-inline{display:inline-block;margin:2px}.vfn-inline input,.vfn-inline select{width:auto}
.vfn-row{display:flex;gap:10px;flex-wrap:wrap}.vfn-row>*{flex:1 1 140px}
.vfn-btn{display:inline-block;background:var(--c);color:#fff!important;border:0;border-radius:6px;padding:10px 16px;font-size:16px;cursor:pointer;text-decoration:none;min-height:44px}
.vfn-btn.vfn-sm{padding:4px 10px;min-height:34px;font-size:14px}.vfn-btn.vfn-big{width:100%;margin-top:12px}
.vfn-alt{background:#50575e}.vfn-danger{background:#b32d2e}
.vfn-link{background:none;border:0;color:#b32d2e;cursor:pointer}
.vfn-check{display:block;margin:12px 0}.vfn-check input{width:auto!important;min-height:0!important}
.vfn-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.vfn-card{border:1px solid #dcdcde;border-radius:10px;padding:12px;margin:12px 0;background:#fff}
.vfn-card>summary,.vfn-card details>summary{cursor:pointer}.vfn-card.unread{border-left:4px solid var(--c)}
.vfn-body{margin-top:10px}
.vfn-note{padding:10px 12px;border-radius:6px;margin:10px 0;background:#f0f6fc;border-left:4px solid #2271b1}.vfn-note.ok{background:#edfaef;border-color:#00a32a}.vfn-note.err{background:#fcf0f1;border-color:#d63638}
.vfn-bad{color:#b32d2e}
.vfn-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;align-items:flex-start}
.vfn-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.vfn-stat{border:1px solid #dcdcde;border-radius:10px;padding:10px;background:#fff}.vfn-stat b{display:block;font-size:1.25em;color:var(--c)}.vfn-stat span{font-size:.85em;color:#50575e}
.vfn-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:2px solid #dcdcde;margin:12px 0}.vfn-tabs a{padding:10px 14px;text-decoration:none;white-space:nowrap;color:#1d2327}.vfn-tabs a.on{border-bottom:3px solid var(--c);font-weight:700;margin-bottom:-2px}
.vfn-badge{display:inline-block;padding:1px 8px;border-radius:20px;background:#e5e5e5;font-size:.8em}
.vfn-badge.s-approved,.vfn-badge.s-verified,.vfn-badge.s-confirmed,.vfn-badge.s-published,.vfn-badge.s-fulfilled,.vfn-badge.s-completed{background:#d7f0dd}
.vfn-badge.s-rejected,.vfn-badge.s-cancelled,.vfn-badge.s-suspended{background:#f7d4d6}.vfn-badge.s-est,.vfn-badge.s-pending_approval,.vfn-badge.s-paused{background:#fff0c2}
.vfn-bar{height:10px;background:#e5e5e5;border-radius:5px;overflow:hidden;display:flex;min-width:80px;margin:6px 0}.vfn-bar .c{background:#1b5e20}.vfn-bar .m{background:#66bb6a}.vfn-bar .p{background:#ffd54f}
.vfn-demand{display:flex;gap:12px;flex-wrap:wrap}.vfn-demand>img{width:96px;height:96px;object-fit:cover;border-radius:8px}.vfn-demand>div{flex:1 1 260px}
.vfn-mini td{padding:2px 10px 2px 0}
.vfn-scroll{overflow-x:auto}.vfn-table{width:100%;border-collapse:collapse;font-size:.9em}.vfn-table th,.vfn-table td{border-bottom:1px solid #e0e0e0;padding:6px;text-align:left;vertical-align:top}
.vfn-filters{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.vfn-filters select,.vfn-filters input{width:auto!important;min-height:36px!important}
.vfn-pager a,.vfn-pager b{display:inline-block;padding:4px 10px;margin:2px}
.vfn-map{height:220px;border-radius:8px;margin:8px 0;background:#eee}
.vfn-actions>*{margin:2px}.vfn-hist{font-size:.85em}
.vfn-lang{float:right;margin-left:10px}
@media(max-width:600px){.vfn-wrap{padding:8px}}
