*{box-sizing:border-box;}
body{font-family:system-ui,Arial,sans-serif;margin:0;background:#f4f6f9;color:#222;}
header{background:#1f3a5f;color:#fff;padding:10px 20px;display:flex;
       justify-content:space-between;align-items:center;}
header .logo{font-size:20px;font-weight:bold;}
header nav a{color:#fff;margin:0 8px;text-decoration:none;}
header nav .user{opacity:.8;margin-left:12px;}
main{padding:20px;}
h2{margin-top:0;}
.toolbar{margin:10px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
button,.btn{background:#2c7be5;color:#fff;border:0;border-radius:6px;
            padding:6px 12px;cursor:pointer;text-decoration:none;
            font-size:14px;display:inline-block;}
button.danger{background:#e63757;}
button:hover,.btn:hover{opacity:.9;}
table{border-collapse:collapse;width:100%;background:#fff;}
th,td{border:1px solid #e3e6ef;padding:6px 8px;font-size:13px;text-align:left;}
th{background:#eef2f7;}
.table-wrap{overflow-x:auto;border-radius:8px;box-shadow:0 1px 4px rgba(0,0,0,.06);}
.actions button{margin-right:4px;}
.flash{padding:8px 12px;border-radius:6px;margin-bottom:10px;}
.flash.success{background:#d4edda;color:#155724;}
.flash.error{background:#f8d7da;color:#721c24;}

.login-box{max-width:320px;margin:60px auto;background:#fff;padding:24px;
           border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.login-box label{display:block;margin-bottom:10px;}
.login-box input{width:100%;padding:8px;margin-top:4px;
                 border:1px solid #ccc;border-radius:6px;}
.login-box button{width:100%;padding:10px;}

.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);
       z-index:50;overflow:auto;}
.modal-content{background:#fff;margin:40px auto;padding:20px;
               border-radius:10px;max-width:900px;position:relative;}
.modal .close{position:absolute;right:14px;top:8px;font-size:24px;cursor:pointer;}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.grid label{display:flex;flex-direction:column;font-size:13px;}
.grid input,.grid select,.grid textarea{padding:6px;border:1px solid #ccc;
                                         border-radius:6px;margin-top:4px;
                                         font-family:inherit;}
.grid textarea{min-height:50px;}

.charts{display:flex;gap:30px;flex-wrap:wrap;}
.chart-box{background:#fff;padding:20px;border-radius:10px;
           box-shadow:0 1px 4px rgba(0,0,0,.06);}

/* Фильтры */
.filters{
  display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;
  background:#fff;padding:12px;border-radius:10px;
  box-shadow:0 1px 4px rgba(0,0,0,.06);margin-bottom:12px;
}
.filters label{display:flex;flex-direction:column;font-size:12px;color:#555;}
.filters select{padding:6px;border:1px solid #ccc;border-radius:6px;min-width:140px;}
.btn.secondary{background:#6c757d;}

/* Дропдаун экспорта */
.dropdown{position:relative;display:inline-block;}
.dropdown-menu{
  display:none;position:absolute;top:110%;left:0;z-index:40;
  background:#fff;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);
  min-width:200px;overflow:hidden;
}
.dropdown-menu.open{display:block;}
.dropdown-menu a{
  display:block;padding:9px 14px;color:#222;text-decoration:none;font-size:13px;
}
.dropdown-menu a:hover{background:#eef2f7;}