:root{--primary:#087f6f;--primary2:#0ba58f;--dark:#123b37;--bg:#f4f7f8}
body{background:var(--bg);color:#203431;font-family:"Segoe UI",Arial,sans-serif}
.main-nav{background:linear-gradient(135deg,#07584f,#0a927e);box-shadow:0 4px 18px rgba(0,0,0,.12)}
.navbar-brand{letter-spacing:.2px}
.footer{background:#123b37;color:#fff}
.hero{background:linear-gradient(135deg,#075e54,#10a38e);color:#fff;border-radius:24px;padding:42px 34px;box-shadow:0 18px 40px rgba(7,94,84,.18)}
.soft-card,.stat-card,.file-card,.filter-card{background:#fff;border:0;border-radius:18px;box-shadow:0 7px 25px rgba(0,0,0,.07)}
.category-card{height:100%;background:#fff;border:0;border-radius:18px;box-shadow:0 7px 25px rgba(0,0,0,.07);transition:.25s}
.category-card:hover{transform:translateY(-5px);box-shadow:0 15px 32px rgba(0,0,0,.13)}
.icon-box{width:58px;height:58px;border-radius:16px;background:#e5f5f2;color:var(--primary);display:flex;align-items:center;justify-content:center;font-size:25px;flex:0 0 auto}
.file-icon{width:50px;height:50px;border-radius:14px;background:#f0f5f6;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--primary)}
.category-title{font-weight:700;line-height:1.35}
.pill{border-radius:999px;padding:5px 11px;font-size:12px;background:#e5f5f2;color:#087f6f}
.form-control,.form-select{border-radius:11px;padding:11px 13px;border-color:#dbe4e5}
.form-control:focus,.form-select:focus{border-color:#0a927e;box-shadow:0 0 0 .2rem rgba(10,146,126,.12)}
.btn{border-radius:10px}
.btn-success{background:#087f6f;border-color:#087f6f}.btn-success:hover{background:#06695d;border-color:#06695d}
.table-wrap{border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 7px 25px rgba(0,0,0,.07)}
.table thead th{white-space:nowrap}.table td{vertical-align:middle}
.stat-number{font-size:2rem;font-weight:800}.stat-label{color:#6b7b79;font-size:.9rem}
.search-round{border-radius:999px}
.login-panel{max-width:440px;margin:auto}
.truncate-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:576px){.hero{padding:30px 22px;border-radius:18px}.display-6{font-size:1.9rem}.table{font-size:.86rem}}
