/* ATO Agri-Drive */
.atodrv { position: relative; }
.atodrv-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.atodrv-crumbs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-family: var(--p-head); font-weight: 800; color: var(--p-ink); font-size: 1rem; }
.atodrv-crumbs a { display: inline-flex; align-items: center; gap: 6px; color: var(--p-ink) !important; }
.atodrv-crumbs a:hover { color: var(--p-primary-2) !important; }
.atodrv-crumbs span { color: var(--p-muted); font-weight: 400; }
.atodrv-crumbs em { font-style: normal; color: var(--p-muted); font-weight: 700; }
.atodrv-tools { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.atodrv-search { display: flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px; border: 1px solid var(--p-line); border-radius: 9px; background: #fff; color: var(--p-muted); }
.atodrv-search input { border: 0 !important; outline: 0; box-shadow: none !important; padding: 0 !important; height: 34px; min-width: 160px; background: transparent; }
.atodrv-upload-form { margin: 0; }
.atodrv-upload-form label { cursor: pointer; }
.atodrv-mkdir { display: flex; align-items: center; gap: 8px; padding: 10px 12px; margin-bottom: 12px; border: 1px dashed var(--p-mint); border-radius: 10px; background: #f3fbf8; color: var(--p-primary-2); }
.atodrv-mkdir input[type=text] { flex: 1; max-width: 360px; }
.atodrv-progress { position: relative; height: 34px; border-radius: 9px; background: #eef5f2; overflow: hidden; margin-bottom: 12px; }
.atodrv-progress span { position: absolute; inset: 0 auto 0 0; width: 0; background: linear-gradient(90deg, var(--p-primary-2), var(--p-mint)); transition: width .2s; }
.atodrv-progress em { position: relative; display: block; line-height: 34px; padding: 0 12px; font-style: normal; font-weight: 700; font-size: .84rem; color: var(--p-ink); }
.atodrv-table td { vertical-align: middle; }
.atodrv-name { display: inline-flex; align-items: center; gap: 10px; color: var(--p-ink) !important; font-weight: 700; word-break: break-word; }
.atodrv-name .atosp-i { color: var(--p-muted); flex: none; }
.atodrv-name.is-dir .atosp-i { color: var(--p-gold-d); }
.atodrv-name:hover span { text-decoration: underline; }
.atodrv-table .actions { white-space: nowrap; text-align: right; }
.atodrv-more { display: inline-block; position: relative; }
.atodrv-more summary { list-style: none; }
.atodrv-more summary::-webkit-details-marker { display: none; }
.atodrv-menu { position: absolute; right: 0; top: 36px; z-index: 20; width: 260px; padding: 12px; background: #fff; border: 1px solid var(--p-line); border-radius: 12px; box-shadow: 0 16px 40px rgba(1, 38, 27, .14); text-align: left; display: grid; gap: 10px; }
.atodrv-menu form { display: grid; gap: 6px; margin: 0; }
.atodrv-menu label { font-weight: 700; font-size: .78rem; color: var(--p-ink); }
.atodrv-menu .atosp-inline-form button { width: 100%; }
.atodrv-empty { text-align: center; padding: 46px 16px; border: 2px dashed var(--p-line); border-radius: 14px; color: var(--p-muted); }
.atodrv-empty .atosp-i { color: var(--p-mint); }
.atodrv-empty h4 { margin: 10px 0 4px; }
.atodrv-empty p { margin: 0 auto; max-width: 460px; }
.atodrv-dropzone { display: none; position: absolute; inset: 0; z-index: 30; border-radius: var(--p-r); border: 3px dashed var(--p-mint); background: rgba(243, 251, 248, .94); color: var(--p-primary); flex-direction: column; align-items: center; justify-content: center; gap: 8px; font-family: var(--p-head); font-size: 1.1rem; }
.atodrv.is-dragging .atodrv-dropzone { display: flex; }
.atodrv-foot { display: flex; align-items: center; gap: 6px; }
.atodrv-steps { margin: 0 0 14px; padding-left: 20px; display: grid; gap: 10px; font-size: .9rem; }
.atodrv-uri { display: block; margin-top: 6px; padding: 8px 10px; background: #f3f6f5; border: 1px solid var(--p-line); border-radius: 8px; font-size: .8rem; word-break: break-all; user-select: all; }
@media (max-width: 760px) {
	.atodrv-hide-sm { display: none; }
	.atodrv-search input { min-width: 0; width: 120px; }
}
