.nav-link {
    padding: 0.35rem 0.75rem;
    border-radius: 0.5rem;
    color: rgb(71 85 105);
}
.nav-link:hover { background: rgb(241 245 249); color: rgb(15 23 42); }
.nav-link.active { background: rgb(30 41 59); color: white; }

.field-empty {
    outline: 1px dashed rgb(234 179 8);
    background: rgb(254 252 232);
}
.field-error {
    outline: 1px solid rgb(220 38 38);
    background: rgb(254 242 242);
}

.dropzone {
    border: 2px dashed rgb(148 163 184);
    border-radius: 0.75rem;
    padding: 2rem;
    text-align: center;
    transition: background .15s, border-color .15s;
    cursor: pointer;
}
.dropzone.drag-over { background: rgb(239 246 255); border-color: rgb(59 130 246); }

label.f { display: block; font-size: .78rem; color: rgb(71 85 105); margin-bottom: .2rem; }
.input {
    width: 100%;
    border: 1px solid rgb(203 213 225);
    border-radius: 0.4rem;
    padding: 0.45rem 0.6rem;
    font-size: 0.9rem;
    background: white;
}
.input:focus { outline: 2px solid rgb(59 130 246); outline-offset: 0; border-color: rgb(59 130 246); }

.btn {
    display: inline-flex; align-items: center; gap: .4rem;
    padding: .5rem .9rem; border-radius: .5rem;
    font-weight: 500; font-size: .9rem;
    cursor: pointer; transition: background .12s;
}
.btn-primary { background: rgb(15 23 42); color: white; }
.btn-primary:hover { background: rgb(30 41 59); }
.btn-secondary { background: rgb(226 232 240); color: rgb(15 23 42); }
.btn-secondary:hover { background: rgb(203 213 225); }
.btn-danger { background: rgb(220 38 38); color: white; }

.tab-btn { padding: .5rem 1rem; border-bottom: 2px solid transparent; color: rgb(71 85 105); }
.tab-btn.active { border-color: rgb(15 23 42); color: rgb(15 23 42); font-weight: 500; }

table.reg { width: 100%; border-collapse: collapse; font-size: .88rem; }
table.reg th, table.reg td { padding: .5rem .7rem; text-align: left; border-bottom: 1px solid rgb(226 232 240); }
table.reg thead { background: rgb(248 250 252); }
table.reg tr:hover { background: rgb(248 250 252); }

.card { background: white; border-radius: .75rem; padding: 1rem; border: 1px solid rgb(226 232 240); }
.stat-card { background: white; border-radius: .75rem; padding: 1.25rem; border: 1px solid rgb(226 232 240); }
.stat-num { font-size: 2rem; font-weight: 600; color: rgb(15 23 42); }
.stat-label { font-size: .8rem; color: rgb(100 116 139); text-transform: uppercase; letter-spacing: .05em; }

.banner-warn {
    background: rgb(254 249 195);
    border: 1px solid rgb(234 179 8);
    border-radius: .5rem;
    padding: .6rem .8rem;
    font-size: .85rem;
    color: rgb(113 63 18);
}
